Self-adjusting binary search trees
Journal of the ACM (JACM)
Lower bounds for accessing binary search trees with rotations
SIAM Journal on Computing
Self-adjusting k-ary search trees
Journal of Algorithms
Journal of Algorithms
Self-Organizing Binary Search Trees
Journal of the ACM (JACM)
On the Dynamic Finger Conjecture for Splay Trees. Part I: Splay Sorting log n-Block Sequences
SIAM Journal on Computing
On the Dynamic Finger Conjecture for Splay Trees. Part II: The Proof
SIAM Journal on Computing
Chain-splay trees, or, how to achieve and prove loglogN-competitiveness by splaying
Information Processing Letters
How to splay for loglogn-competitiveness
WEA'05 Proceedings of the 4th international conference on Experimental and Efficient Algorithms
Hi-index | 0.00 |
The "splay" technique was introduced to cope with biasedness or changeability in data access frequencies, achieving optimality within a small constant factor w.r.t. static trees, without sacrificing log N worst-case behaviour, in an amortized sense. It achieves this through a series of local transformations, starting from the search node and propagating upwards along the search path to the root. It seems plausible that a similar policy, suitably adapted to multi-way trees, could achieve logk N amortized performance (nodes visited), where k is the degree of the tree. Sherk's k-splay, a generalization of Sleator and Tarjan's splay technique to multi-way trees, proved to exhibit amortized log2 N behaviour, could be considered the most likely candidate for a multiway splay-like self-adjusting policy with logk N amortized complexity. We construct a family of k-ary trees having depth k and containing 2k nodes and we show that Sherk's k-splay applied to the deepest node of any tree in this family always produces another tree in the family. A fractal-like process of replacing leaf-nodes of trees with copies of themselves then allows us to create such trees of arbitrary size for any given k. This provides us with a family of counterexamples for which Sherk's k-splay always visits log2 N nodes when applied to the deepest node in the tree.