We present a general method for de-amortizing essentially any Binary Search Tree (BST) algorithm. In particular, by transforming Splay Trees, our method produces a BST that has the same asymptotic cost as Splay Trees on any access sequence while performing each search in O(logn) worst case time. By transforming Multi-Splay Trees, we obtain a BST that is O(loglogn) competitive, satisfies the scanning theorem, the static optimality theorem, the static finger theorem, the working set theorem, and performs each search in O(logn) worst case time. Transforming OPT proves the existence of an O(1)-competitive offline BST algorithm which performs at most O(log n) BST operations between each access to the keys in the input sequence. Finally, we obtain that if there is an O(1)-competitive online BST algorithm, then there is also one that performs every search in O(logn) operations worst case.

Additional Metadata
Persistent URL dx.doi.org/10.1007/978-3-642-31594-7_11
Citation
Bose, P, Collette, S. (Sébastien), Fagerberg, R. (Rolf), & Langerman, S. (Stefan). (2012). De-amortizing binary search trees. doi:10.1007/978-3-642-31594-7_11