Results 1 - 10
of
10
An Evaluation of Self-adjusting Binary Search Tree Techniques
- Software Practice and Experience
, 1993
"... Much has been said in praise of... this paper, we compare the performance of three different techniques for self-adjusting trees with that of AVL and random binary search trees. Comparisons are made for various tree sizes, levels of key-access-frequency skewness and ratios of insertions and deletion ..."
Abstract
-
Cited by 17 (1 self)
- Add to MetaCart
Much has been said in praise of... this paper, we compare the performance of three different techniques for self-adjusting trees with that of AVL and random binary search trees. Comparisons are made for various tree sizes, levels of key-access-frequency skewness and ratios of insertions and deletions to searches. The results show that, because of the high cost of maintaining self-adjusting trees, in almost all cases the AVL tree outperforms all the self-adjusting trees and in many cases even a random binary search tree has better performance, in terms of CPU time, than any of the self-adjusting trees. Self-adjusting trees seem to perform best in a highly dynamic environment, contrary to intuition.
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 15 (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 weight-balanced trees. We show that the amortized cost incurred by general balanced trees is lower than what has been shown for weight-balanced trees. � 1999 Academic Press 1.
Fast updating of well-balanced trees
- In SWAT 90, 2nd Scandinavian Workshop on Algorithm Theory
, 1990
"... Trees of optimal and near-optimal height may be represented as a pointer-free 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 near-optimal height may be represented as a pointer-free 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 comparison-based 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 B-trees, 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 B-trees, 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 worst-case complexity of the dictionary problem.
Memory Reference Locality in Binary Search Trees
, 1995
"... Balanced binary search trees are widely used main memory index structures. They provide for logarithmic cost for searching, insertion, deletion, and efficient ordered scanning of keys. Long term trends in computer technology have emphasized the effect of memory reference locality on algorithm perfor ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Balanced binary search trees are widely used main memory index structures. They provide for logarithmic cost for searching, insertion, deletion, and efficient ordered scanning of keys. Long term trends in computer technology have emphasized the effect of memory reference locality on algorithm performance. For example, the search performance of large structurally equivalent binary trees can double if nodes are located optimally in memory relative to each other. Unfortunately the traditional Random Access Memory (RAM) model cannot distinguish algorithms with good memory reference locality from algorithms with poor memory reference locality. We therefore define a new ...
Binary Search Tree Balancing Methods: A Critical Study
"... Binary search tree is a best-suited data structure for data storage and retrieval when entire tree could be accommodated in the primary memory. However, this is true only when the tree is height-balanced. Lesser the height faster the search will be. Despite of the wide popularity of Binary search tr ..."
Abstract
- Add to MetaCart
Binary search tree is a best-suited data structure for data storage and retrieval when entire tree could be accommodated in the primary memory. However, this is true only when the tree is height-balanced. Lesser the height faster the search will be. Despite of the wide popularity of Binary search trees there has been a major concern to maintain the tree in proper shape. In worst case, a binary search tree may reduce to a linear link list, thereby reducing search to be sequential. Unfortunately, structure of the tree depends on nature of input. If input keys are not in random order the tree will become higher and higher on one side. In addition to that, the tree may become unbalanced after a series of operations like insertions and deletions. To maintain the tree in optimal shape many algorithms have been presented over the years. Most of the algorithms are static in nature as they take a whole binary search tree as input to create a balanced version of the tree. In this paper, few techniques have been discussed and analyzed in terms of time and space requirement. Key words:
Maintaining alpha-balanced Trees by Partial Rebuilding
- International Journal of Computer Mathematics
, 1991
"... The balance criterion defining the class of ff-balanced 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 straight-forward use of partial rebuilding for maintenance of ff-balanced trees requires an amortized cost of \Omega\Gamma ..."
Abstract
- Add to MetaCart
The balance criterion defining the class of ff-balanced 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 straight-forward use of partial rebuilding for maintenance of ff-balanced 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 ff-balanced 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 ff-balanced trees, or ffBB-trees. 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 ff-balanced trees below. Definition 1 A binary tree is ff-balanced 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) \...
ISA[k] Trees: a Class of Binary Search Trees with Minimal or Near Minimal Internal Path Length
, 1993
"... this paper we propose relaxing the requirement of inserting all nodes on one level before going to the next level. This leads to a new class of binary search trees called ISA[k] trees. We investigated the average locate cost per node, average shift cost per node, total insertion cost, and average su ..."
Abstract
- Add to MetaCart
this paper we propose relaxing the requirement of inserting all nodes on one level before going to the next level. This leads to a new class of binary search trees called ISA[k] trees. We investigated the average locate cost per node, average shift cost per node, total insertion cost, and average successful search cost for ISA[k] trees. We also present an insertion algorithm with associated predecessor and successor functions for ISA[k] trees. For large binary search trees (over 160 nodes) our results suggest the use of ISA[2] or ISA[3] trees for best performance
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...
A Forest of Hashed Binary Search Trees with Reduced Internal Path Length and better Compatibility with the Concurrent Environment
"... We propose to maintain a Binary Search Tree in the form of a forest in such a way that – (a) it provides faster node access and, (b) it becomes more compatible with the concurrent environment. Using a small array, the stated goals were achieved without applying any restructuring algorithm. Empirical ..."
Abstract
- Add to MetaCart
We propose to maintain a Binary Search Tree in the form of a forest in such a way that – (a) it provides faster node access and, (b) it becomes more compatible with the concurrent environment. Using a small array, the stated goals were achieved without applying any restructuring algorithm. Empirically, we have shown that the proposed method brings down the total internal pathlength of a Binary Search Tree quite considerably. The experiments were conducted by creating two different data structures using the same input- a conventional binary search tree, and a forest of hashed trees. Our empirical results suggest that the forest so produced has lesser internal path length and height in comparison to the conventional tree. A binary search tree is not a well-suited data structure for concurrent processing. The evidence also shows that maintaining a large tree in form of multiple smaller trees (forest) increases the degree of parallelism.

