Updating almost complete trees or one level makes all the difference

  • Tony W. Lai
  • Derick Wood
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 415)


An almost complete (or 2-complete) tree is a binary search tree in which any two external nodes are no more than two levels apart. While complete binary search trees have an amortized update cost of Θ(n), we demonstrate that almost complete binary search trees have an amortized update cost of O(log2n). Thus, they are an attractive alternative for those situations that require fast retrieval, that is, log n+O(1) comparisons, and have few updates.


Balance Tree Binary Search Tree External Node Balance Criterion Insertion Algorithm 
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]
    G. M. Adel'son-Vel'skii and E. M. Landis. An algorithm for the organization of information. Sov. Math. Dokl., 3:1259–1262, 1962.Google Scholar
  2. [2]
    A. Andersson. Improving partial rebuilding by using simple balance criteria. In Proceedings of the 1989 Workshop on Algorithms and Data Structures, pages 393–402. Springer-Verlag, 1989.Google Scholar
  3. [3]
    A. Andersson and T. W. Lai. Efficient maintenance of almost perfectly balanced trees. In preparation.Google Scholar
  4. [4]
    T. E. Gerasch. An insertion algorithm for a minimal internal path length binary search tree. Communications of the ACM, 31:579–585, 1988.CrossRefGoogle Scholar
  5. [5]
    L. J. Guibas and R. Sedgewick. A dichromatic framework for balanced trees. In Proceedings of the 19th Annual IEEE Symposium on Foundations of Computer Science, pages 8–21, 1978.Google Scholar
  6. [6]
    T. W. Lai and D. Wood. Updating approximately complete trees. Technical Report CS-89-57, Univ. of Waterloo, 1989.Google Scholar
  7. [7]
    J. Nievergelt and E. M. Reingold. Binary search trees of bounded balance. SIAM Journal on Computing, 2:33–43, 1973.CrossRefGoogle Scholar
  8. [8]
    M. H. Overmars. The Design of Dynamic Data Structures, volume 156 of Lecture Notes in Computer Science. Springer-Verlag, 1983.Google Scholar
  9. [9]
    M. H. Overmars and J. van Leeuwen. Dynamic multi-dimensional data structures based on quad-and k-d trees. Acta Informatica, 17:267–285, 1982.CrossRefGoogle Scholar
  10. [10]
    Q. F. Stout and B. L. Warren. Tree rebalancing in optimal time and space. Communications of the ACM, 29:902–908, 1986.CrossRefGoogle Scholar
  11. [11]
    J. van Leeuwen and D. Wood. Dynamization of decomposable searching problems. Information Processing Letters, 10:51–56, 1980.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Tony W. Lai
    • 1
  • Derick Wood
    • 1
  1. 1.Data Structuring Group Department of Computer ScienceUniversity of WaterlooWaterlooCanada

Personalised recommendations