Skip to main content

Fast updating of well-balanced trees

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 447))

Abstract

We focus on the problem of maintaining binary search trees with an optimal and near-optimal number of incomplete levels. For a binary search tree with one incomplete level and a height of exactly [log(n+1)], we improve the amortized insertion cost to O(log3 n). A tree with 2 incomplete levels and a near-optimal height of [log(n+1)+ε] may be maintained with O(log2 n) amortized restructuring work per update. The amount of restructuring work is decreased to O(log n) by increasing the number of incomplete levels to 4, while the height is still kept as low as [log(n+1)+ε]. This yields an improved amortized bound on the dictionary problem.

Trees of optimal and near-optimal height may be represented as a pointer-free structure in an array of size O(n). In this way we obtain an array implementation of a dictionary with O(log n) search cost and O(log2 n) update cost, allowing interpolation search to improve the expected search time.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. M. Adelson-Velskii and E. M. Landis. An algorithm for the organization of information. Dokladi Akademia Nauk SSSR, 146(2), 1962.

    Google Scholar 

  2. A. V. Aho, J. E. Hopcroft, and J. D. Ullman. Data Structures and Algorithms. Addison-Wesley, Reading Mass, 1983.

    Google Scholar 

  3. A. Andersson. Improving partial rebuilding by using simple balance criteria. In Proc. Workshop on Algorithms and Data Structures, WADS '89, Ottawa, 1989.

    Google Scholar 

  4. A. Andersson. Optimal bounds on the dictionary problem. In Proc. Symposium on Optimal Algorithms, Varna, 1989.

    Google Scholar 

  5. A. Andersson. Efficient Search Trees. Ph. D. Thesis, Lund University, Sweden, 1990.

    Google Scholar 

  6. R. Bayer. Symmetric binary B-trees: Data structure and maintenance algorithms. Acta Informatica, 1(4), 1972.

    Google Scholar 

  7. H. Chang and S. S. Iynegar. Efficient algorithms to globally balance a binary search tree. Communications of the ACM, 27(7), 1984.

    Google Scholar 

  8. A. C. Day. Balancing a binary tree. Computer Journal, 19(4), 1976.

    Google Scholar 

  9. T. E. Gerasch. An insertion algorithm for a minimal internal path length binary search tree. Communications of the ACM, 31:579–585, 1988.

    Article  Google Scholar 

  10. G. H. Gonnet. Interpolation and Interpolation-Hash Searching. Ph.D. Thesis, University of Waterloo, Canada, 1977.

    Google Scholar 

  11. T. W. Lai and D. Wood. Updating approximately complete trees. Technical Report CS-89-57, University of Waterloo, 1989.

    Google Scholar 

  12. T. W. Lai and D. Wood. Updating almost complete trees or one level makes all the difference. In Proceedings of the 7th Symposium on Theoretical Aspects of Computer Science, 1990.

    Google Scholar 

  13. J. Nievergelt and E. M. Reingold. Binary trees of bounded balance. SIAM Journal on Computing, 2(1), 1973.

    Google Scholar 

  14. H. J. Olivie. A new class of balanced search trees: Half-balanced binary search trees. R.A.I.R.O. Informatique Theoretique, 16:51–71, 1982.

    Google Scholar 

  15. Q. F. Stout and B. L. Warren. Tree rebalancing in optimal time and space. Communications of the ACM, 29:902–908, 1986.

    Article  Google Scholar 

  16. A. C.-C. Yao and F. F. Yao. The complexity of searching an ordered random table. In Proc. Foundations of Computer Science, Houston, 1976.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

John R. Gilbert Rolf Karlsson

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Andersson, A., Lai, T.W. (1990). Fast updating of well-balanced trees. In: Gilbert, J.R., Karlsson, R. (eds) SWAT 90. SWAT 1990. Lecture Notes in Computer Science, vol 447. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52846-6_82

Download citation

  • DOI: https://doi.org/10.1007/3-540-52846-6_82

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-52846-3

  • Online ISBN: 978-3-540-47164-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics