Acta Informatica

, Volume 28, Issue 2, pp 165–178 | Cite as

Binary search trees of almost optimal height

  • Arne Andersson
  • Christian Icking
  • Rolf Klein
  • Thomas Ottmann


First we present a generalization of symmetric binary B-trees, SBB(k)-trees. The obtained structure has a height of only\(\left[ {\left( {1 + \frac{1}{k}} \right)\log (n + 1)} \right]^1 \), wherek may be chosen to be any positive integer. The maintenance algorithms require only a constant number of rotations per updating operation in the worst case. These properties together with the fact that the structure is relatively simple to implement makes it a useful alternative to other search trees in practical applications.

Then, by using an SBB(k)-tree with a varyingk we achieve a structure with a logarithmic amortized cost per update and a height of logn+o(logn). This result is an improvement of the upper bound on the height of a dynamic binary search tree. By maintaining two trees simultaneously the amortized cost is transformed into a worst-case cost. Thus, we have improved the worst-case complexity of the dictionary problem.


Information System Operating System Positive Integer Data Structure Communication Network 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Adelson-Velskii, G.M., Landis, E.M.: An algorithm for the organization of information. Dokl. Akad. Nauk SSSR146(2), 1259–1262 (1962)Google Scholar
  2. 2.
    Aho, A.V., Hopcroft, J.E., Ullman, J.D.: Data structures and algorithms. Reading MA: Addison-Wesley 1983Google Scholar
  3. 3.
    Bayer, R.: Symmetric binary B-trees: Data structure and maintenance algorithms. Acta Inf.1(4), 290–306 (1972)Google Scholar
  4. 4.
    Bayer, R., McCreight, E.: Organization and maintenance of large ordered indexes. Acta Inf.1, 173–189 (1972)Google Scholar
  5. 5.
    Chang, H., Iynegar, S.S.: Efficient algorithms to globally balance a binary search tree. Commun. ACM27(7), 695–702 (1984)Google Scholar
  6. 6.
    Day, A.C.: Balancing a binary tree. Comput. J.19(4), 360–361 (1976)Google Scholar
  7. 7.
    Gonnet, G.H.: Handbook of algorithms and data structures. Reading, MA: Addison-Wesley 1983Google Scholar
  8. 8.
    Guibas, L.J., Sedgewick, R.: A dichromatic framework for balanced trees. In: Proc. 19th Ann. IEEE Symp. on Foundations of Computer Science, pp. 8–21, 1978Google Scholar
  9. 9.
    Icking, C., Klein, R., Ottmann, T.: Priority search trees in secondary memory. In: Göttler, H., Schneider, H.J. (eds.) Graphtheoretic concepts in computer science. (Lect. Notes Comput. Sci., vol. 314, pp. 84–93). Berlin Heidelberg New York: Springer 1987Google Scholar
  10. 10.
    Martin, W.A., Ness, D.N.: Optimizing binary trees grown with a sorting algorithm. Commun. ACM15(2), 88–93 (1972)Google Scholar
  11. 11.
    Mauer, H.A., Ottmann, T., Six, H.W.: Implementing dictionaries using binary trees of very small height. Inf. Process. Lett.5(1), 11–14 (1976)Google Scholar
  12. 12.
    McCreight, E.M.: Priority search trees. SIAM J. Comput.14(2), 257–276 (1985)Google Scholar
  13. 13.
    Nievergelt, J., Reingold, E.M.: Binary trees of bounded balance. SIAM J. Comput.2(1), 33–43 (1973)Google Scholar
  14. 14.
    Olivie, H.J.: A study of balanced binary trees and balanced one-two-trees. Ph. D. Thesis, Dept of Mathematics, University of Antwerp, 1980Google Scholar
  15. 15.
    Olivie, H.J.: A new class of balanced search trees: Half-balanced binary search trees. RAIRO Inf Theor Appl.16, 51–71 (1982)Google Scholar
  16. 16.
    Ottmann, Th., Wood, D.: Updating binary trees with constant linkage cost. In: Proceedings of the 2nd Scandinavian Workshop on Algorithm Theory, SWAT '90, Bergen, 1990Google Scholar
  17. 17.
    Overmars, M.H.: The design of dynamic data structures. (Lect. Notes Comput. Sci., vol. 156). Berlin Heidelberg New York: Springer 1983Google Scholar
  18. 18.
    Sarmak, N., Tarjan, R.E.: Planar point location using persistent search trees. Commun. ACM29(7), 669–679 (1986)Google Scholar
  19. 19.
    Stout, Q.F., Warren, B.L.: Tree rebalancing in optimal time and space. Commun. ACM29(9), 902–908 (1986)Google Scholar
  20. 20.
    Tarjan, R.E.: Updating a balanced search tree inO(1) rotations. Inf. Process. Lett.16, 253–257 (1983)Google Scholar
  21. 21.
    Leeuwen, J. van, Overmars, M.H.: Stratified balanced search trees. Acta Inf.18, 345–359 (1983)Google Scholar

Copyright information

© Springer-Verlag 1990

Authors and Affiliations

  • Arne Andersson
    • 1
  • Christian Icking
    • 2
  • Rolf Klein
    • 2
  • Thomas Ottmann
    • 3
  1. 1.Department of Computer ScienceLund UniversityLundSweden
  2. 2.FB 6/Praktische softwareorientierte InformatikUniversität-Gesamthochschule EssenEssen 1Federal Republic of Germany
  3. 3.Institut für InformatikUniversität FreiburgFreiburgFederal Republic of Germany

Personalised recommendations