Abstract
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.
Full version available at http://arxiv.org/abs/1111.1665
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Adel’son-Vel’skii, G.M., Landis, E.M.: An algorithm for the organization of information. Soviet. Math. 3, 1259–1262 (1962)
Allen, B., Munro, I.: Self-organizing binary search trees. JACM 25(4), 526–535 (1978)
Badoiu, M., Cole, R., Demaine, E.D., Iacono, J.: A unified access bound on comparison-based dynamic dictionaries. Theor. Comput. Sci. 382(2), 86–96 (2007)
Bose, P., Douïeb, K., Langerman, S.: Dynamic optimality for skip lists and B-trees. In: Proc. of the ACM-SIAM Symposium On Discrete Algorithms, pp. 1106–1114 (2008)
Bose, P., Douïeb, K.: Should Static Search Trees Ever Be Unbalanced? In: Cheong, O., Chwa, K.-Y., Park, K. (eds.) ISAAC 2010. LNCS, vol. 6506, pp. 109–120. Springer, Heidelberg (2010)
Bose, P., Douïeb, K., Dujmović, V., Fagerberg, R.: An O(log log n)-Competitive Binary Search Tree with Optimal Worst-Case Access Times. In: Kaplan, H. (ed.) SWAT 2010. LNCS, vol. 6139, pp. 38–49. Springer, Heidelberg (2010)
Bose, P., Douïeb, K., Dujmović, V., Howat, J.: Layered Working-Set Trees. In: López-Ortiz, A. (ed.) LATIN 2010. LNCS, vol. 6034, pp. 686–696. Springer, Heidelberg (2010)
Cole, R.: On the dynamic finger conjecture for splay trees. Part II: the proof. SIAM J. Computing 30(1), 44–85 (2000)
Cole, R., Mishra, B., Schmidt, J., Siegel, A.: On the dynamic finger conjecture for splay trees. Part I: splay sorting log n-block sequences. SIAM J. Computing 30(1), 1–43 (2000)
Demaine, E.D., Harmon, D., Iacono, J., Kane, D., Pǎtraşcu, M.: The geometry of binary search trees. In: Proc. of the 20th Annual ACM-SIAM Symposium on Discrete Algorithms, New York, January 4-6, pp. 496–505 (2009)
Demaine, E.D., Harmon, D., Iacono, J., Patrascu, M.: Dynamic optimality - almost. SIAM J. Comput. 37(1), 240–251 (2007)
Derryberry, J., Sleator, D.D.: Skip-Splay: Toward Achieving the Unified Bound in the BST Model. In: Dehne, F., Gavrilova, M., Sack, J.-R., Tóth, C.D. (eds.) WADS 2009. LNCS, vol. 5664, pp. 194–205. Springer, Heidelberg (2009)
Derryberry, J., Sleator, D.D., Wang, C.C.: A lower bound framework for binary search trees with rotations. Technical Report CMU-CS-05-187. Carnegie Mellon University (November 2005)
Derryberry, J., Sleator, D.D., Wang, C.C.: Properties of multi-splay trees. Technical Report CMU-CS-09-180. Carnegie Mellon University (November 2009)
Georgakopoulos, G.F.: Splay trees: a reweighing lemma and a proof of competitiveness vs. dynamic balanced trees. Journal of Algorithms 51(1), 64–76 (2004)
Georgakopoulos, G.F.: Chain-splay trees, or, how to achieve and prove loglogn-competitiveness by splaying. Inf. Process. Lett. 106, 37–43 (2008)
Gold Effie Award, http://www.effie.org/winners/showcase/2006/256
Guibas, L.J., Sedgewick, R.: A dichomatic framework for balanced trees. In: Proc. 19th Ann. IEEE Symp. on Theory of Computing, pp. 8–21 (1978)
Iacono, J.: Alternatives to splay trees with O(logn) worst-case access times. In: Proc. 12th ACM-SIAM Sympos. Discrete Algorithms, pp. 516–522 (2001)
Iacono, J.: Key-independent optimality. Algorithmica 42(1), 3–10 (2005)
Iacono, J., Langerman, S.: Queaps. Algorithmica 42(1), 49–56 (2005)
Knuth, D.E.: Optimum binary search trees. Acta Inf. 1, 14–25 (1971)
Sleator, D.D., Tarjan, R.E.: Self-adjusting binary trees. JACM 32, 652–686 (1985)
Wang, C.C., Derryberry, J., Sleator, D.D.: O(log log n)-competitive dynamic binary search trees. In: Proc. of the Seventeenth Annual ACM-SIAM Symposium on Discrete Algorithm, pp. 374–383. ACM, New York (2006)
Wilber, R.: Lower bounds for accessing binary search trees with rotations. SIAM J. Computing 18(1), 56–67 (1989)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bose, P., Collette, S., Fagerberg, R., Langerman, S. (2012). De-amortizing Binary Search Trees. In: Czumaj, A., Mehlhorn, K., Pitts, A., Wattenhofer, R. (eds) Automata, Languages, and Programming. ICALP 2012. Lecture Notes in Computer Science, vol 7391. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31594-7_11
Download citation
DOI: https://doi.org/10.1007/978-3-642-31594-7_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-31593-0
Online ISBN: 978-3-642-31594-7
eBook Packages: Computer ScienceComputer Science (R0)