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

Journal of Computer and System Sciences, 49(3): 667-682, 1994.

Chromatic trees were defined by Nurmi and Soisalon-Soininen, as a new type of binary search tree for databases. 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)