**Efficient Rebalancing of Chromatic Search Trees***Joan Boyar, Kim S. Larsen*

Proceedings of the Third Scandinavian Workshop on Algorithm Theory, Lecture Notes in Computer Science 621: 151-164, Springer-Verlag, 1992.

In PODS'91, Nurmi and Soisalon-Soininen presented a new type of binary
search tree for databases,
which they call a *chromatic* tree. The aim is to improve
runtime performance by allowing a greater degree of concurrency, which, in
turn, is obtained by uncoupling updating from rebalancing. This also allows
rebalancing to be postponed completely or partially until after peak working
hours.

The advantages of the proposal of Nurmi and Soisalon-Soininen are quite significant, but there are definite problems with it. First, they give no explicit upper bound on the complexity of their algorithm. Second, some of their rebalancing operations can be applied many more times than necessary. Third, some of their operations, when removing one problem, create another.

We define a
new set of rebalancing operations which we prove give rise to at most
*floor(log_2(N+1))-1* rebalancing operations per insertion
and at most *floor(log_2(N+1))-2* rebalancing operations per deletion,
where *N* is the maximum size the tree
could ever have, given its initial size and the number of insertions
performed.
Most of these rebalancing operations, in fact, do no restructuring; they simply
move weights around. The number of operations which actually change the
structure of the tree is at most one per update.

Last modified: June 16, 1997. Kim Skak Larsen (kslarsen@imada.sdu.dk)