| | |
Summary: Randomized Splay Trees:
Theoretical and Experimental Results
Susanne Albers
Marek Karpinski
Abstract
Splay trees are self-organizing binary search trees that were introduced by Sleator and
Tarjan [12]. In this paper we present a randomized variant of these trees. The new algorithm
for reorganizing the tree is both simple and easy to implement. We prove that our randomized
splaying scheme has the same asymptotic performance as the original deterministic scheme
but improves constants in the expected running time. This is interesting in practice because
the search time in splay trees is typically higher than the search time in skip lists and AVL-
trees. We present a detailed experimental study of our algorithm. On request sequences
generated by fixed probability distributions, we can achieve improvements of up to 25%
over deterministic splaying. On request sequences that exhibit high locality of reference, the
improvements are minor.
Keywords: Data structures; Randomized algorithms; Splay trees.
1 Introduction
Splay trees are self-organizing binary search trees that were introduced by Sleator and Tar-
jan [12]. They represent an elegant solution to the well-known dictionary problem, where we
have to maintain a set S of elements under a sequence of operations. We assume that every
|