Abstract:
We present a randomized strategy for maintaining balance in dynamically changing search trees that has optimal expected behavior. In particular, in the expected case a search or an update takes logarithmic time, with the update requiring fewer than two rotations. Moreover, the update time remains logarithmic, even if the cost of a rotation is taken to be proportional to the size of the rotated subtree. Finger searches and splits and joins can be performed in optimal expected time also. We show that these results continue to hold even if very little true randomness is available, i.e. if only a logarithmic number of truely random bits are available. Our approach generalizes naturally to weighted trees, where the expected time bounds for accesses and updates again match the worst case time bounds of the best deterministic methods. We also discuss ways of implementing our randomized strategy so that no explicit balance information is maintained. Our balancing strategy and our alg...
Citations
|
545
|
LEDA - A Platform for Combinatorial and Geometric
– Mehlhorn, Naher
- 1996
|
|
296
|
Self-adjusting binary search trees
– Sleator, Tarjan
- 1985
|
|
262
|
Computational Geometry: An Introduction Through Randomized Algorithms
– Mulmuley
- 1994
|
|
218
|
Skip Lists: A Probabilistic Alternative to Balanced Trees
– Pugh
- 1989
|
|
190
|
A dichromatic framework for balanced trees
– Guibas, Sedgewick
- 1978
|
|
173
|
A guided tour of Chernoff bounds
– Hagerup, Rub
- 1990
|
|
139
|
Priority search trees
– McCreight
- 1985
|
|
134
|
An algorithm for the organization of information
– Adel'son-Vel'skii, Landis
- 1962
|
|
109
|
E.: Organization and maintenance of large ordered indices
– Bayer, McCreight
- 1977
|
|
74
|
Four results on randomized incremental constructions
– Clarkson, Mehlhorn, et al.
- 1993
|
|
64
|
A unifying look at data structures
– Vuillemin
- 1980
|
|
60
|
Binary search trees of bounded balance
– NIEVERGELT, REINGOLD
- 1973
|
|
54
|
A note on the height of binary search trees
– Devroye
- 1986
|
|
49
|
Incremental computation via function caching
– Pugh, Teitelbaum
- 1989
|
|
43
|
Biased search trees
– Bent, Sleator, et al.
- 1985
|
|
43
|
Multi-dimensional Searching and Computational Geometry, Volume 3 of Data Structures and Algorithms
– MEHLHORN
- 1985
|
|
34
|
Dynamic point location in general subdivisions
– Baumgarten, Jung, et al.
- 1994
|
|
17
|
Scapegoat trees
– Galperin, Rivest
- 1993
|
|
14
|
Sorting Jordan sequences in linear time using level-linked search trees
– Homan, Mehlhorn, et al.
- 1986
|
|
12
|
Sorting and Searching
– Mehlhorn
- 1984
|
|
12
|
Algorithm design and software libraries: Recent developments in the LEDA project
– Mehlhorn, Naher
- 1992
|
|
10
|
Fast multiple precision evaluation of elementary functions
– Brent
- 1976
|
|
10
|
Pasciak, Private communication
– E
|
|
7
|
Private communication
– unknown authors
- 1996
|
|
6
|
Addendum to "A Storage Scheme for Height-Balanced Trees
– Brown
- 1979
|
|
5
|
private communication
– Mehlhorn
- 1989
|
|
5
|
LEDA user manual (version 3.0
– Naher
- 1994
|
|
4
|
Faster Uniquely Represented Dictionaries
– Andersson, Ottmann
- 1991
|
|
1
|
Randomly balanced search trees
– Bent, Driscoll
- 1991
|