MPI-INF/SWS Research Reports 1991-2021

2. Number - All Departments


A simple balanced search tree with 0(1) worst-case update time

Fleischer, Rudolf

January 1992, 10 pages.

Status: available - back from printing

In this paper we show how a slight modification of $(a,b)$-trees allows us to perform member and neighbor queries in $O(\log n)$ time and updates in $O(1)$ worst-case time (once the position of the inserted or deleted key is known). Our data structure is quite natural and much simpler than previous worst-case optimal solutions. It is based on two techniques : 1) \em{bucketing}, i.e.~storing an ordered list of $2\log n$ keys in each leaf of an $(a,b)$ tree, and \quad 2) \em{lazy splitting}, i.e.~postponing necessary splits of big nodes until we have time to handle them. It can also be used as a finger tree with $O(\log^*n)$ worst-case update time.

  • Attachement: MPI-I-92-101.dvi (34 KBytes); (50 KBytes); MPI-I-92-101.pdf (121 KBytes)

URL to this document:

Hide details for BibTeXBibTeX
  AUTHOR = {Fleischer, Rudolf},
  TITLE = {A simple balanced search tree with 0(1) worst-case update time},
  TYPE = {Research Report},
  INSTITUTION = {Max-Planck-Institut f{\"u}r Informatik},
  ADDRESS = {Im Stadtwald, D-66123 Saarbr{\"u}cken, Germany},
  NUMBER = {MPI-I-92-101},
  MONTH = {January},
  YEAR = {1992},
  ISSN = {0946-011X},