Rank-Balanced Trees

  • Bernhard Haeupler
  • Siddhartha Sen
  • Robert E. Tarjan
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5664)

Abstract

Since the invention of AVL trees in 1962, a wide variety of ways to balance binary search trees have been proposed. Notable are red-black trees, in which bottom-up rebalancing after an insertion or deletion takes O(1) amortized time and O(1) rotations worst-case. But the design space of balanced trees has not been fully explored. We introduce the rank-balanced tree, a relaxation of AVL trees. Rank-balanced trees can be rebalanced bottom-up after an insertion or deletion in O(1) amortized time and at most two rotations worst-case, in contrast to red-black trees, which need up to three rotations per deletion. Rebalancing can also be done top-down with fixed lookahead in O(1) amortized time. Using a novel analysis that relies on an exponential potential function, we show that both bottom-up and top-down rebalancing modify nodes exponentially infrequently in their heights.

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. Sov. Math. Dokl. 3, 1259–1262 (1962)Google Scholar
  2. 2.
    Andersson, A.: Balanced search trees made simple. In: Dehne, F., Sack, J.-R., Santoro, N. (eds.) WADS 1993. LNCS, vol. 709, pp. 60–71. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  3. 3.
    Bayer, R.: Binary B-trees for virtual memory. In: SIGFIDET, pp. 219–235 (1971)Google Scholar
  4. 4.
    Bayer, R.: Symmetric binary B-trees: Data structure and maintenance algorithms. Acta Inf. 1, 290–306 (1972)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Brown, M.R.: A storage scheme for height-balanced trees. Inf. Proc. Lett., 231–232 (1978)Google Scholar
  6. 6.
    Foster, C.C.: A study of avl trees. Technical Report GER-12158, Goodyear Aerospace Corp. (1965)Google Scholar
  7. 7.
    Guibas, L.J., Sedgewick, R.: A dichromatic framework for balanced trees. In: FOCS, pp. 8–21 (1978)Google Scholar
  8. 8.
    Knuth, D.E.: The Art of Computer Programming, Sorting and Searching, vol. 3. Addison-Wesley, Reading (1973)MATHGoogle Scholar
  9. 9.
    Nievergelt, J., Reingold, E.M.: Binary search trees of bounded balance. SIAM J. on Comput., 33–43 (1973)Google Scholar
  10. 10.
    Olivié, H.J.: A new class of balanced search trees: Half balanced binary search trees. ITA 16(1), 51–71 (1982)MathSciNetMATHGoogle Scholar
  11. 11.
    Sedgewick, R.: Left-leaning red-black trees, http://www.cs.princeton.edu/rs/talks/LLRB/LLRB.pdf
  12. 12.
    Skiena, S.S.: The Algorithm Design Manual. Springer, Heidelberg (1998)MATHGoogle Scholar
  13. 13.
    Tarjan, R.E.: Updating a balanced search tree in O(1) rotations. Inf. Proc. Lett. 16(5), 253–257 (1983)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Tarjan, R.E.: Amortized computational complexity. SIAM J. Algebraic and Disc. Methods 6, 306–318 (1985)MathSciNetCrossRefMATHGoogle Scholar
  15. 15.
    Tarjan, R.E.: Efficient top-down updating of red-black trees. Technical Report TR-006-85, Department of Computer Science, Princeton University (1985)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Bernhard Haeupler
    • 2
  • Siddhartha Sen
    • 1
  • Robert E. Tarjan
    • 1
    • 3
  1. 1.Princeton UniversityUSA
  2. 2.Massachusetts Institute of TechnologyUSA
  3. 3.HP LaboratoriesPalo AltoUSA

Personalised recommendations