Advertisement

De-amortizing Binary Search Trees

  • Prosenjit Bose
  • Sébastien Collette
  • Rolf Fagerberg
  • Stefan Langerman
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7391)

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.

Keywords

Starting Tree Balance Tree Left Child Regular Node Left Rotation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Adel’son-Vel’skii, G.M., Landis, E.M.: An algorithm for the organization of information. Soviet. Math. 3, 1259–1262 (1962)Google Scholar
  2. 2.
    Allen, B., Munro, I.: Self-organizing binary search trees. JACM 25(4), 526–535 (1978)MathSciNetzbMATHCrossRefGoogle Scholar
  3. 3.
    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)MathSciNetzbMATHCrossRefGoogle Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)CrossRefGoogle Scholar
  6. 6.
    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)CrossRefGoogle Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    Cole, R.: On the dynamic finger conjecture for splay trees. Part II: the proof. SIAM J. Computing 30(1), 44–85 (2000)zbMATHCrossRefGoogle Scholar
  9. 9.
    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)MathSciNetzbMATHCrossRefGoogle Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    Demaine, E.D., Harmon, D., Iacono, J., Patrascu, M.: Dynamic optimality - almost. SIAM J. Comput. 37(1), 240–251 (2007)MathSciNetzbMATHCrossRefGoogle Scholar
  12. 12.
    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)CrossRefGoogle Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    Derryberry, J., Sleator, D.D., Wang, C.C.: Properties of multi-splay trees. Technical Report CMU-CS-09-180. Carnegie Mellon University (November 2009)Google Scholar
  15. 15.
    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)MathSciNetzbMATHCrossRefGoogle Scholar
  16. 16.
    Georgakopoulos, G.F.: Chain-splay trees, or, how to achieve and prove loglogn-competitiveness by splaying. Inf. Process. Lett. 106, 37–43 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  17. 17.
  18. 18.
    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)Google Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    Iacono, J.: Key-independent optimality. Algorithmica 42(1), 3–10 (2005)MathSciNetzbMATHCrossRefGoogle Scholar
  21. 21.
    Iacono, J., Langerman, S.: Queaps. Algorithmica 42(1), 49–56 (2005)MathSciNetzbMATHCrossRefGoogle Scholar
  22. 22.
    Knuth, D.E.: Optimum binary search trees. Acta Inf. 1, 14–25 (1971)zbMATHCrossRefGoogle Scholar
  23. 23.
    Sleator, D.D., Tarjan, R.E.: Self-adjusting binary trees. JACM 32, 652–686 (1985)MathSciNetzbMATHCrossRefGoogle Scholar
  24. 24.
    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)CrossRefGoogle Scholar
  25. 25.
    Wilber, R.: Lower bounds for accessing binary search trees with rotations. SIAM J. Computing 18(1), 56–67 (1989)MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Prosenjit Bose
    • 1
  • Sébastien Collette
    • 2
  • Rolf Fagerberg
    • 3
  • Stefan Langerman
    • 2
  1. 1.School of Computer ScienceCarleton UniversityCanada
  2. 2.Département d’InformatiqueUniversité Libre de BruxellesBelgium
  3. 3.Department of Mathematics and Computer ScienceUniversity of Southern DenmarkDenmark

Personalised recommendations