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
Article

Summary

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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