Results 1  10
of
11
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 19 (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
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
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.
Approximate Indexed Lists
 Journal of Algorithms
, 1998
"... Let the position of a list element in a list be the number of elements preceding it plus one. An indexed list supports the following operations on a list: Insert; delete; return the position of an element; and return the element at a certain position. The order in which the elements appear in the li ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
Let the position of a list element in a list be the number of elements preceding it plus one. An indexed list supports the following operations on a list: Insert; delete; return the position of an element; and return the element at a certain position. The order in which the elements appear in the list is completely determined by where the insertions take place; we do not require the presence of any keys that induce the ordering. We consider approximate indexed lists, and show that a tiny relaxation in precision of the query operations allows a considerable improvement in time complexity. The new data structure has applications in two other problems; namely, list labeling and subset rank. 1 Introduction An indexed list [5] is a list abstract data type that supports the following operations: Insert(x; y): Insert list element y immediately after list element x, which may be a list header; Delete(x): Delete list element x; Pos(x): Return the position of list element x, that is, one plu...
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 n+ ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
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.
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 3 (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...
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 2 (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...
Maintaining alphabalanced Trees by Partial Rebuilding
 International Journal of Computer Mathematics
, 1991
"... The balance criterion defining the class of ffbalanced trees states that the ratio between the shortest and longest paths from a node to a leaf be at least ff. We show that a straightforward use of partial rebuilding for maintenance of ffbalanced trees requires an amortized cost of \Omega\Gamma ..."
Abstract
 Add to MetaCart
The balance criterion defining the class of ffbalanced trees states that the ratio between the shortest and longest paths from a node to a leaf be at least ff. We show that a straightforward use of partial rebuilding for maintenance of ffbalanced trees requires an amortized cost of \Omega\Gamma p n) per update. By slight modifications of the maintenance algorithms the cost can be reduced to O(log n) for any value of ff, 0 ! ff ! 1. KEY WORDS ffbalanced trees, partial rebuilding, search trees. CR CATEGORIES: E.1, F.2, I.1.2. 1 Introduction In his thesis Olivie [9] introduced a class of binary search trees, which he calls ffbalanced trees, or ffBBtrees. Let h(v) denote the length for the longest path from a node v to a leaf and let s(v) denote the length of the shortest path. We give a formal definition of ffbalanced trees below. Definition 1 A binary tree is ffbalanced if the following is true for each node v in the tree: s(v) h(v) ff; h(v) 1 1 \Gamma ff (1) h(v) \...
On Consulting a Set of Experts and Searching
, 1996
"... Two chapters of this thesis analyze expert consulting problems via game theoretic models; the first points out a close connection between the problem of consulting a set of experts and the problem of searching. The last chapter presents a solution to the dictionary problem of supporting and update ( ..."
Abstract
 Add to MetaCart
Two chapters of this thesis analyze expert consulting problems via game theoretic models; the first points out a close connection between the problem of consulting a set of experts and the problem of searching. The last chapter presents a solution to the dictionary problem of supporting and update (Insert and Delete) operations on a set of key values. The first chapter shows...
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.