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.
Similar content being viewed by others
References
Adel’son-Vel’skii, G.M., Landis, E.M.: An algorithm for the organization of information. Sov. Math. Dokl. 3, 1259–1262 (1962)
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)
Bayer, R.: Binary B-trees for virtual memory. In: SIGFIDET, pp. 219–235 (1971)
Bayer, R.: Symmetric binary B-trees: Data structure and maintenance algorithms. Acta Inf. 1, 290–306 (1972)
Brown, M.R.: A storage scheme for height-balanced trees. Inf. Proc. Lett., 231–232 (1978)
Foster, C.C.: A study of avl trees. Technical Report GER-12158, Goodyear Aerospace Corp. (1965)
Guibas, L.J., Sedgewick, R.: A dichromatic framework for balanced trees. In: FOCS, pp. 8–21 (1978)
Knuth, D.E.: The Art of Computer Programming, Sorting and Searching, vol. 3. Addison-Wesley, Reading (1973)
Nievergelt, J., Reingold, E.M.: Binary search trees of bounded balance. SIAM J. on Comput., 33–43 (1973)
Olivié, H.J.: A new class of balanced search trees: Half balanced binary search trees. ITA 16(1), 51–71 (1982)
Sedgewick, R.: Left-leaning red-black trees, http://www.cs.princeton.edu/rs/talks/LLRB/LLRB.pdf
Skiena, S.S.: The Algorithm Design Manual. Springer, Heidelberg (1998)
Tarjan, R.E.: Updating a balanced search tree in O(1) rotations. Inf. Proc. Lett. 16(5), 253–257 (1983)
Tarjan, R.E.: Amortized computational complexity. SIAM J. Algebraic and Disc. Methods 6, 306–318 (1985)
Tarjan, R.E.: Efficient top-down updating of red-black trees. Technical Report TR-006-85, Department of Computer Science, Princeton University (1985)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Haeupler, B., Sen, S., Tarjan, R.E. (2009). Rank-Balanced Trees. In: Dehne, F., Gavrilova, M., Sack, JR., Tóth , C.D. (eds) Algorithms and Data Structures. WADS 2009. Lecture Notes in Computer Science, vol 5664. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03367-4_31
Download citation
DOI: https://doi.org/10.1007/978-3-642-03367-4_31
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-03366-7
Online ISBN: 978-3-642-03367-4
eBook Packages: Computer ScienceComputer Science (R0)