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.
Similar content being viewed by others
References
Adelson-Velskii, G.M., Landis, E.M.: An algorithm for the organization of information. Dokl. Akad. Nauk SSSR146(2), 1259–1262 (1962)
Aho, A.V., Hopcroft, J.E., Ullman, J.D.: Data structures and algorithms. Reading MA: Addison-Wesley 1983
Bayer, R.: Symmetric binary B-trees: Data structure and maintenance algorithms. Acta Inf.1(4), 290–306 (1972)
Bayer, R., McCreight, E.: Organization and maintenance of large ordered indexes. Acta Inf.1, 173–189 (1972)
Chang, H., Iynegar, S.S.: Efficient algorithms to globally balance a binary search tree. Commun. ACM27(7), 695–702 (1984)
Day, A.C.: Balancing a binary tree. Comput. J.19(4), 360–361 (1976)
Gonnet, G.H.: Handbook of algorithms and data structures. Reading, MA: Addison-Wesley 1983
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, 1978
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 1987
Martin, W.A., Ness, D.N.: Optimizing binary trees grown with a sorting algorithm. Commun. ACM15(2), 88–93 (1972)
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)
McCreight, E.M.: Priority search trees. SIAM J. Comput.14(2), 257–276 (1985)
Nievergelt, J., Reingold, E.M.: Binary trees of bounded balance. SIAM J. Comput.2(1), 33–43 (1973)
Olivie, H.J.: A study of balanced binary trees and balanced one-two-trees. Ph. D. Thesis, Dept of Mathematics, University of Antwerp, 1980
Olivie, H.J.: A new class of balanced search trees: Half-balanced binary search trees. RAIRO Inf Theor Appl.16, 51–71 (1982)
Ottmann, Th., Wood, D.: Updating binary trees with constant linkage cost. In: Proceedings of the 2nd Scandinavian Workshop on Algorithm Theory, SWAT '90, Bergen, 1990
Overmars, M.H.: The design of dynamic data structures. (Lect. Notes Comput. Sci., vol. 156). Berlin Heidelberg New York: Springer 1983
Sarmak, N., Tarjan, R.E.: Planar point location using persistent search trees. Commun. ACM29(7), 669–679 (1986)
Stout, Q.F., Warren, B.L.: Tree rebalancing in optimal time and space. Commun. ACM29(9), 902–908 (1986)
Tarjan, R.E.: Updating a balanced search tree inO(1) rotations. Inf. Process. Lett.16, 253–257 (1983)
Leeuwen, J. van, Overmars, M.H.: Stratified balanced search trees. Acta Inf.18, 345–359 (1983)
Author information
Authors and Affiliations
Additional information
This work was partially supported by a grant from the National Swedish Board for Technical Development
This work was partially supported by a grant from the Deutsche Forschungsgemeinschaft, grant no. Ot 64/5-2
Rights and permissions
About this article
Cite this article
Andersson, A., Icking, C., Klein, R. et al. Binary search trees of almost optimal height. Acta Informatica 28, 165–178 (1990). https://doi.org/10.1007/BF01237235
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF01237235