Results 1  10
of
22
General balanced trees
 Journal of Algorithms
, 1999
"... We show that, in order to achieve efficient maintenance of a balanced binary search tree, no shape restriction other than a logarithmic height is required. The obtained class of trees, general balanced trees, may be maintained at a logarithmic amortized cost with no balance information stored in the ..."
Abstract

Cited by 22 (0 self)
 Add to MetaCart
We show that, in order to achieve efficient maintenance of a balanced binary search tree, no shape restriction other than a logarithmic height is required. The obtained class of trees, general balanced trees, may be maintained at a logarithmic amortized cost with no balance information stored in the nodes. Thus, in the case when amortized bounds are sufficient, there is no need for sophisticated balance criteria. The maintenance algorithms use partial rebuilding. This is important for certain applications and has previously been used with weightbalanced trees. We show that the amortized cost incurred by general balanced trees is lower than what has been shown for weightbalanced trees. � 1999 Academic Press 1.
Confluently Persistent Deques via DataStructural Bootstrapping
 J. of Algorithms
, 1993
"... We introduce datastructural bootstrapping, a technique to design data structures recursively, and use it to design confluently persistent deques. Our data structure requires O(log 3 k) worstcase time and space per deletion, where k is the total number of deque operations, and constant worstcase t ..."
Abstract

Cited by 15 (4 self)
 Add to MetaCart
(Show Context)
We introduce datastructural bootstrapping, a technique to design data structures recursively, and use it to design confluently persistent deques. Our data structure requires O(log 3 k) worstcase time and space per deletion, where k is the total number of deque operations, and constant worstcase time and space for other operations. Further, the data structure allows a purely functional implementation, with no side effects. This improves a previous result of Driscoll, Sleator, and Tarjan. 1 An extended abstract of this paper was presented at the 4th ACMSIAM Symposium on Discrete Algorithms, 1993. 2 Supported by a Fannie and John Hertz Foundation fellowship, National Science Foundation Grant No. CCR8920505, and the Center for Discrete Mathematics and Theoretical Computer Science (DIMACS) under NSFSTC8809648. 3 Also affiliated with NEC Research Institute, 4 Independence Way, Princeton, NJ 08540. Research at Princeton University partially supported by the National Science Foundatio...
Fast updating of wellbalanced trees
 In SWAT 90, 2nd Scandinavian Workshop on Algorithm Theory
, 1990
"... Trees of optimal and nearoptimal height may be represented as a pointerfree structure in an array of size O(n). In this way we obtain an array implementation of a dictionary with O(log n) search cost and O(log2 n) update cost, allowing interpolation search to improve the expected search time. 1 In ..."
Abstract

Cited by 14 (0 self)
 Add to MetaCart
(Show Context)
Trees of optimal and nearoptimal height may be represented as a pointerfree structure in an array of size O(n). In this way we obtain an array implementation of a dictionary with O(log n) search cost and O(log2 n) update cost, allowing interpolation search to improve the expected search time. 1 Introduction The binary search tree is a fundamental and well studied data structure, commonly used in computer applications to implement the abstract data type dictionary. In a comparisonbased model of computation, the lower bound on the three basic operations insert, delete and search is dlog(n + 1)e comparisons per operation. This bound may be achieved by storing the set in a binary search tree of optimal height. Definition 1 A binary tree has optimal height if and only if the height of the tree is dlog(n + 1)e. A special case of a tree of optimal height is an optimally balanced tree, as defined below. Definition 2 A binary tree is optimally balanced if and only if the difference in length between the longest and shortest paths is at most one.
The complexity of constructing evolutionary trees using experiments
, 2001
"... We present tight upper and lower bounds for the problem of constructing evolutionary trees in the experiment model. We describe an algorithm which constructs an evolutionary tree of n species in time O(nd log d n) using at most n⌈d/2⌉(log 2⌈d/2⌉−1 n+O(1)) experiments for d> 2, and at most n(log ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
(Show Context)
We present tight upper and lower bounds for the problem of constructing evolutionary trees in the experiment model. We describe an algorithm which constructs an evolutionary tree of n species in time O(nd log d n) using at most n⌈d/2⌉(log 2⌈d/2⌉−1 n+O(1)) experiments for d> 2, and at most n(log n+O(1)) experiments for d = 2, where d is the degree of the tree. This improves the previous best upper bound by a factor Θ(log d). For d = 2 the previously best algorithm with running time O(n log n) had a bound of 4n log n on the number of experiments. By an explicit adversary argument, we show an Ω(nd log d n) lower bound, matching our upper bounds and improving the previous best lower bound by a factor Θ(log d n). Central to our algorithm is the construction and maintenance of separator trees of small height, which may be of independent interest.
DataStructural Bootstrapping And Catenable Deques
, 1993
"... The list is a fundamental data structure. It stores a linearly ordered collection of elements and allows access only to the front and rear elements of the list. Catenation can be applied to lists, unifying the rear of one list with the front of another. Absent other requirements, the basic list oper ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
The list is a fundamental data structure. It stores a linearly ordered collection of elements and allows access only to the front and rear elements of the list. Catenation can be applied to lists, unifying the rear of one list with the front of another. Absent other requirements, the basic list operations, including catenation, have straightforward implementations. If the list has certain secondary properties, however, the operations, particularly catenation, become more difficult. Nondestructive lists
Relaxed Balance for Search Trees with Local Rebalancing
, 1997
"... Search trees with relaxed balance were introduced with the aim of facilitating fast updating on sharedmemory asynchronous parallel architectures. To obtain this, rebalancing has been uncoupled from the updating, so extensive locking in connection with updates is avoided. Rebalancing is taken care o ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Search trees with relaxed balance were introduced with the aim of facilitating fast updating on sharedmemory asynchronous parallel architectures. To obtain this, rebalancing has been uncoupled from the updating, so extensive locking in connection with updates is avoided. Rebalancing is taken care of by background processes, which do only a constant amount of work at a time before they release locks. Thus, the rebalancing and the associated locks are very localized in time as well as in space. In particular, there is no exclusive locking of whole paths. This means that the amount of parallelism possible is not limited by the height of the tree. Search trees with relaxed balance have been obtained by adapting standard sequential search trees to this new paradigm; clearly using similar techniques in each case, but no general result has been obtained. Recent developments in the area, however, have prepared the way for the present paper, where we demonstrate that any search tree with local...
Partially Persistent Search Trees with Transcript Operations
 MIT Lecture 5: September 21 and 23
, 1999
"... this paper appeared in the proceedings of the 15th Symposium on Theoretical Aspects of Computer Science 1998 (STACS'98), Lecture Notes in Computer Science, Vol. 1373, pages 309319, SpringerVerlag, 1998. ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
this paper appeared in the proceedings of the 15th Symposium on Theoretical Aspects of Computer Science 1998 (STACS'98), Lecture Notes in Computer Science, Vol. 1373, pages 309319, SpringerVerlag, 1998.
Parallel Dynamic Lowest Common Ancestors
 Selected papers of the 4 th Scandinavian Workshop on Algorithm Theory (SWAT '94) ( Arhus
, 1994
"... . This paper gives a CREW PRAM algorithm for the problem of finding lowest common ancestors in a forest under the insertion of leaves and roots and the deletion of leaves. For a forest with a maximum of n vertices, the algorithm takes O(m=p+r log p+min(m; r log n)) time and O(n) space using p proces ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
. This paper gives a CREW PRAM algorithm for the problem of finding lowest common ancestors in a forest under the insertion of leaves and roots and the deletion of leaves. For a forest with a maximum of n vertices, the algorithm takes O(m=p+r log p+min(m; r log n)) time and O(n) space using p processors to process a sequence of m operations that are presented over r rounds. Furthermore, lowest common ancestor queries can be done in worst case constant time using a single processor. For one processor, the algorithm matches the bounds achieved by the best sequential algorithm known. The new algorithm is somewhat simpler and has smaller constants in the time and space complexity. 1 Introduction Finding lowest common ancestors in trees is a frequently occurring problem in the literature and has found application in such diverse problems as computing dominators in reducible flow graphs [1], detecting negative cycles in sparse graphs [12], planarity testing [9], and computing weighted matc...
CAPTAIN: TAKE OFF EVERY ’ZIG’!! CAPTAIN: YOU KNOW WHAT YOU DOING. CAPTAIN: MOVE ’ZIG’. CAPTAIN: FOR GREAT JUSTICE.
"... Everything was balanced before the computers went off line. Try and adjust something, and you unbalance something else. Try and adjust that, you unbalance two more and before you know what’s happened, the ship is out of control. — Blake, Blake’s 7, “Breakdown ” (March 6, 1978) A good scapegoat is ne ..."
Abstract
 Add to MetaCart
Everything was balanced before the computers went off line. Try and adjust something, and you unbalance something else. Try and adjust that, you unbalance two more and before you know what’s happened, the ship is out of control. — Blake, Blake’s 7, “Breakdown ” (March 6, 1978) A good scapegoat is nearly as welcome as a solution to the problem. Let’s play.