Self-Adjusting Binary Search Trees: What Makes Them Tick?
نویسندگان
چکیده
Splay trees (Sleator and Tarjan [8]) satisfy the so-called access lemma. Many of the nice properties of splay trees follow from it. What makes self-adjusting binary search trees (BSTs) satisfy the access lemma? We propose a global view of BST algorithms, which allows us to identify general structural properties of algorithms that satisfy the access lemma. As an application of our techniques, we present: (i) Unified and simpler proofs that capture all known BST algorithms satisfying the access lemma including splay trees and their generalization to the class of local algorithms (Subramanian [9], Georgakopoulos and McClurkin [6]), as well as Greedy BST, introduced by Demaine et al. [4] and shown to satisfy the access lemma by Fox [5]. (ii) A new family of algorithms based on “strict” depth-halving, shown to satisfy the access lemma. (iii) An extremely short proof for the O(logn log log n) amortized access cost for the path-balance heuristic (proposed by Sleator), matching the best known bound (Balasubramanian and Raman [2]) to a lower-order factor. Key to our results is a geometric view of how BST algorithms rearrange the search path, which reveals the underlying features that make the amortized cost logarithmic w.r.t. the sum-of-logs (SOL) potential. We obtain further structural results from this insight: for instance, we prove that locality is necessary for satisfying the access lemma, as long as the SOL potential is used. We believe that our work makes a step towards a full characterization of efficient self-adjusting BST algorithms, in particular, it shows the limitations of the SOL potential as a tool for analysis.
منابع مشابه
An Evaluation of Self-adjusting Binary Search Tree Techniques
Much has been said in praise of self-adjusting data structures, particularly self-adjusting binary search trees. Self-adjusting trees are most suited to skewed key-access distributions as the techniques attempt to place the most commonly accessed keys near the root of the tree. Theoretical bounds on worst-case and amortized performance (i.e. performance over a sequence of operations) have been ...
متن کاملA Randomized Self-Adjusting Binary Search Tree
We present algorithms for a new self-adjusting binary search tree, which we call a shuffle tree. The tree is easy to implement and does not require parent pointers or balancing information to be stored in tree nodes. A maximum of one rotation is probabilistically applied during each traversal, which keeps the cost of balancing activity low. We present tests to compare the performance of shuffle...
متن کاملAdvanced Lossless Text Compression Algorithm Based on Splay Tree Adaptive Methods
Splay Trees are usually considered forms of lexicographically ordered binary search trees [1, 2]. The motivation of this paper comes from the fact that the search trees have multiples drawbacks. These data structures are created to reduce the worst-case time per operation. However, in typical applications of search trees [3] are performed several operations, not a single one, and what matters i...
متن کاملSplay Tree
Splay trees are self-adjusting binary search trees which were invented by Sleator and Tarjan [1]. This entry provides executable and verified functional splay trees. The amortized complexity of splay trees is analyzed in the AFP entry Amortized Complexity.
متن کاملOn Dynamic Optimality for Binary Search Trees
Does there exist O(1)-competitive (self-adjusting) binary search tree (BST) algorithms? This is a well-studied problem. A simple offline BST algorithm GreedyFuture was proposed independently by Lucas [5] and Munro [6], and they conjectured it to be O(1)-competitive. Recently, Demaine et al. [2] gave a geometric view of the BST problem. This view allowed them to give an online algorithm GreedyAr...
متن کامل