Summary: Implementing General Balanced trees
Computing Science Department
Box 311, SE ≠ 751 05 Uppsala, Sweden
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.
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