| | |
Summary: Implementing General Balanced trees
Arne Andersson
Computing Science Department
Information Technology
Uppsala University
Box 311, SE 751 05 Uppsala, Sweden
www.csd.uu.se/¸arnea
NOTE: This document is a combined L A T E Xreport
and C program. Remove the first character (%) in
the L A T E Xfile, and it will compile as a C program.
You can run it and try it out yourself.
Abstract
We argue that the simplest possible balance
criterion---let the tree take any shape as long as its
height is logarithmic---can be used to produce very ef
ficient code. A general balanced tree is a plain binary
search tree with no balance information in the nodes.
Balance is maintained by partial rebuilding. This
data structure can be implemented very efficiently.
(In experiments, it performs better than the skip list
|