Computer Science Department
School of Computer Science, Carnegie Mellon University


Dynamic Optimality and Multi-Splay Trees

Daniel Dominic Sleator, Chengwen Chris Wang

November 2004

Keywords: Dynamic optimality, binary search tree, splay tree, competitive algorithm, amortized analysis

The Dynamic Optimality Conjecture states that splay trees are competitive (with a constant competitive factor) among the class of all binary search tree (BST) algorithms. Despite 20 years of research this conjecture is still unresolved. Recently Demaine et al. suggested searching for alternative algorithms which have small, but non-constant competitive factors. They proposed tango, a BST algorithm which is nearly dynamically optimal -- its competitive ratio is O(log log n) instead of a constant. Unfortunately, for many access patterns, tango is worse than other BST algorithms by a factor of log log n.

In this paper we introduce multi-splay trees, which can be viewed as a variant of splay trees. We prove the multi-splay access lemma, which resembles the access lemma for splay trees. With different assignment of weights, this lemma allows us to prove various bounds on the performance of multi-splay trees. Specifically, we prove that multi-splay trees are O(log log n)-competitive, and amortized O(log n). This is the first BST data structure to simultaneously achieve these two bounds. In addition, the algorithm is simple enough that we include code for its key parts.

14 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by