Efficient rebalancing of chromatic search trees
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 [log2(N+1)]−1 rebalancing operations per insertion and at most [log2(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.
KeywordsSearch Tree Binary Search Tree Weighted Level Left Subtree Chromatic Tree
Unable to display preview. Download preview PDF.
- 1.Adel'son-Vel'skii, G. M., Landis, E. M.: An algorithm for the organisation of information. Dokl. Akad. Nauk SSSR 146 (1962) 263–266 (in Russian; English translation in Soviet Math. Dokl. 3 (1962) 1259–1263).Google Scholar
- 2.Bayer, R., McCreight, E.: Organization and maintenance of large ordered indexes. Acta Inf. 1 (1972) 97–137.Google Scholar
- 3.Guibas, L. J., Sedgewick, R.: A dichromatic framework for balanced trees. IEEE FOCS (1978) 8–21.Google Scholar
- 4.Kessels, J. L. W.: On-the-fly optimization of data structures. Comm. ACM 26 (1983) 895–901.Google Scholar
- 5.Kung, H. T., Lehman, Philip L.: A concurrent database manipulation problem: binary search trees. Very Large Data Bases (1978) 498 (abstract; full version in Concurrent manipulation of binary search trees. ACM TODS 5 (1980) 354–382).Google Scholar
- 6.Nurmi, O., Soisalon-Soininen, E.: Uncoupling updating and rebalancing in chromatic binary search trees. ACM PODS (1991) 192–198.Google Scholar
- 7.Nurmi, O., Soisalon-Soininen, E., Wood D.: Concurrency control in database structures with relaxed balance. ACM PODS (1987) 170–176.Google Scholar