Results 1  10
of
12
Improving Partial Rebuilding by Using Simple Balance Criteria
"... Some new classes of balanced trees, defined by very simple balance criteria, are introduced. Those trees can be maintained by partial rebuilding at lower update cost than previously used weightbalanced trees. The used balance criteria also allow us to maintain a balanced tree without any balance in ..."
Abstract

Cited by 21 (4 self)
 Add to MetaCart
Some new classes of balanced trees, defined by very simple balance criteria, are introduced. Those trees can be maintained by partial rebuilding at lower update cost than previously used weightbalanced trees. The used balance criteria also allow us to maintain a balanced tree without any balance information stored in the nodes.
Balanced search trees made simple
 In Proc. 3rd Workshop on Algorithms and Data Structures
, 1993
"... Abstract. As a contribution to the recent debate on simple implementations of dictionaries, we present new maintenance algorithms for balanced trees. In terms of code simplicity, our algorithms compare favourably with those for deterministic and probabilistic skip lists. ..."
Abstract

Cited by 21 (0 self)
 Add to MetaCart
Abstract. As a contribution to the recent debate on simple implementations of dictionaries, we present new maintenance algorithms for balanced trees. In terms of code simplicity, our algorithms compare favourably with those for deterministic and probabilistic skip lists.
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.
Binary Search Trees of Almost Optimal Height
 ACTA INFORMATICA
, 1990
"... First we present a generalization of symmetric binary Btrees, SBB(k) trees. The obtained structure has a height of only \Sigma (1 + 1k) log(n + 1)\Upsilon, where k may be chosen to be any positive integer. The maintenance algorithms require only a constant number of rotations per updating operati ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
First we present a generalization of symmetric binary Btrees, SBB(k) trees. The obtained structure has a height of only \Sigma (1 + 1k) log(n + 1)\Upsilon, where k may be chosen to be any positive integer. The maintenance algorithms require only a constant number of rotations per updating operation in the worst case. These properties together with the fact that the structure is relatively simple to implement makes it a useful alternative to other search trees in practical applications. Then, by using an SBB(k)tree with a varying k we achieve a structure with a logarithmic amortized cost per update and a height of log n + o(log n). This result is an improvement of the upper bound on the height of a dynamic binary search tree. By maintaining two trees simultaneously the amortized cost is transformed into a worstcase cost. Thus, we have improved the worstcase complexity of the dictionary problem.
Constructing RedBlack Trees
, 1999
"... This paper explores the structure of redblack trees by solving an apparently simple problem: given an ascending sequence of elements, construct a redblack tree which contains the elements in symmetric order. Several extreme redblack tree shapes are characterized: trees of minimum and maximum heig ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
This paper explores the structure of redblack trees by solving an apparently simple problem: given an ascending sequence of elements, construct a redblack tree which contains the elements in symmetric order. Several extreme redblack tree shapes are characterized: trees of minimum and maximum height, trees with a minimal and with a maximal proportion of red nodes. These characterizations are obtained by relating tree shapes to various number systems. In addition, connections to leftcomplete trees, AVL trees, and halfbalanced trees are highlighted. 1 Introduction Redblack trees are an elegant searchtree scheme that guarantees O(log n) worstcase running time of basic dynamicset operations. Recently, C. Okasaki (1998; 1999) presented an impressively simple functional implementation of redblack trees. In this paper we plunge deeper into the structure of redblack trees by solving an apparently simple problem: given an ascending sequence of elements, construct a redblack tree whic...
Relaxed Balancing Made Simple
, 1995
"... Relaxed balancing means that, in a dictionary stored as a balanced tree, the necessary rebalancing after updates may be delayed. This is in contrast to strict balancing meaning that rebalancing is performed immediately after the update. Relaxed balancing is important for efficiency in highly dyn ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
Relaxed balancing means that, in a dictionary stored as a balanced tree, the necessary rebalancing after updates may be delayed. This is in contrast to strict balancing meaning that rebalancing is performed immediately after the update. Relaxed balancing is important for efficiency in highly dynamic applications where updates can occur in bursts. The rebalancing tasks can be performed gradually after all urgent updates, allowing the concurrent use of the dictionary even though the underlying tree structure is not completely in balance. The contribution of the present paper is that we introduce a new scheme for relaxed balancing, which is obtained by a simple generalization of strict balancing. Our approach implies a simple proof of the fact that the number of the needed rebalancing operations (to put the tree in balance) for relaxed balancing is the same as for strict balancing. 1 Introduction A dictionary is a scheme for storing a set of data such that the operations sea...
RankBalanced Trees
"... Abstract. Since the invention of AVL trees in 1962, a wide variety of ways to balance binary search trees have been proposed. Notable are redblack trees, in which bottomup rebalancing after an insertion or deletion takes O(1) amortized time and O(1) rotations worstcase. But the design space of ba ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
Abstract. Since the invention of AVL trees in 1962, a wide variety of ways to balance binary search trees have been proposed. Notable are redblack trees, in which bottomup rebalancing after an insertion or deletion takes O(1) amortized time and O(1) rotations worstcase. But the design space of balanced trees has not been fully explored. We introduce the rankbalanced tree, a relaxation of AVL trees. Rankbalanced trees can be rebalanced bottomup after an insertion or deletion in O(1) amortized time and at most two rotations worstcase, in contrast to redblack trees, which need up to three rotations per deletion. Rebalancing can also be done topdown with fixed lookahead in O(1) amortized time. Using a novel analysis that relies on an exponential potential function, we show that both bottomup and topdown rebalancing modify nodes exponentially infrequently in their heights. 1
Comparisonefficient and Writeoptimal Searching and Sorting
 In ISA'91, volume 557 of LNCS
, 1991
"... We consider the problem of updating a binary search tree in O(log n) amortized time while using as few comparisons as possible. We show that a tree of height dlog(n+1)+1= p log(n + 1)e can be maintained in O(log n) amortized time such that the difference between the longest and shortest paths fr ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
We consider the problem of updating a binary search tree in O(log n) amortized time while using as few comparisons as possible. We show that a tree of height dlog(n+1)+1= p log(n + 1)e can be maintained in O(log n) amortized time such that the difference between the longest and shortest paths from the root to an external node is at most 2. We also study the problem of sorting and searching in the slow write model of computation, where we have a constant size cache of fast memory and a large amount of memory with a much slower writing time than reading time. In such a model, it is important to sort using only \Theta(n) writes into the slower memory. We say that such algorithms are write optimal, and we introduce a O(n log n) time, writeoptimal sorting algorithm that requires only n log n+O(n) comparisons in the worst case. No previous sorting algorithm that performs n log n + o(n log n) comparisons in the worst case had previously been shown to be write optimal. The above results ...
Deletion Without Rebalancing in Multiway Search Trees
"... Abstract. Many database systems that use a B + tree as the underlying data structure do not do rebalancing on deletion. This means that a bad sequence of deletions can create a very unbalanced tree. Yet such databases perform well in practice. Avoidance of rebalancing on deletion has been justified ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
Abstract. Many database systems that use a B + tree as the underlying data structure do not do rebalancing on deletion. This means that a bad sequence of deletions can create a very unbalanced tree. Yet such databases perform well in practice. Avoidance of rebalancing on deletion has been justified empirically and by averagecase analysis, but to our knowledge no worstcase analysis has been done. We do such an analysis. We show that the tree height remains logarithmic in the number of insertions, independent of the number of deletions. Furthermore the amortized time for an insertion or deletion, excluding the search time, is O(1), and nodes are modified by insertions and deletions with a frequency that is exponentially small in their height. The latter results do not hold for standard B + trees. By adding periodic rebuilding of the tree, we obtain a data structure that is theoretically superior to standard B + trees in many ways. We conclude that rebalancing on deletion can be considered harmful. 1
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) \...