MPI-I-92-101
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.
-
MPI-I-92-101.pdf
- Attachement: MPI-I-92-101.dvi (34 KBytes); MPI-I-92-101.ps.Z (50 KBytes); MPI-I-92-101.pdf (121 KBytes)
URL to this document: https://domino.mpi-inf.mpg.de/internet/reports.nsf/NumberView/1992-101
BibTeX
@TECHREPORT{Fleischer92a,
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},
}