Acta Informatica

, Volume 33, Issue 5, pp 547–557 | Cite as

Chromatic binary search trees

A structure for concurrent rebalancing
  • Otto Nurmi
  • Eljas Soisalon-Soininen


We propose a new rebalancing method for binary search trees that allows rebalancing and updating to be uncoupled. In this way we obtain fast updates and, whenever the search tree is accessed by multiple users, a high degree of concurrency. The trees we use are obtained by relaxing the balance conditions ofred-black trees. The relaxed red-black trees, calledchromatic trees, contain information of possible imbalance such that the rebalancing can be done gradually as a shadow process, or it can be performed separately when no urgent operations are present.


Search Tree Internal Node Concurrency Control Binary Search Tree Complete Binary Tree 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Adel’son-Vels’kii, G.M., Landis, E.M.: An algorithm for the organization of information. Soviet Math. Dokl.3, 1259–1262 (1962)Google Scholar
  2. 2.
    Bayer, R.A.: Symmetric binary B-trees: Data structure and maintenance algorithms. Acta Inform.1, 290–306 (1972)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Dijkstra, E.W., Lamport, L., Martin, A.J., Scholten, C.S., Steffens, E.F.M.: On-the-fly garbage collection: An exercise in cooperation. Comm. ACM21, 699–975 (1978)CrossRefGoogle Scholar
  4. 4.
    Ellis, C.S.: Concurrent search in AVL-trees. IEEE Trans. ComputersC-29, 811–817 (1980)CrossRefGoogle Scholar
  5. 5.
    Ellis, C.S.: Concurrent search and insertions in 2–3 trees. Acta Inform.14, 63–86 (1980)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Guibas, L.J., Sedgewick, R.: A dichromatic framework for balanced trees. In: Proceedings of the 19th IEEE Symp. Foundations of Computer Science, 1978, 8–21.Google Scholar
  7. 7.
    Kessels, J.L.W.: On-the-fly optimization of data structures. Comm. ACM26, 895–901 (1983)zbMATHCrossRefGoogle Scholar
  8. 8.
    Kung, H.T., Lehman, P.L.: A concurrent database manipulation problem: Binary search trees. ACM Trans. Database Syst.5, 339–353 (1980)CrossRefGoogle Scholar
  9. 9.
    Manber, U., Ladner, R.E.: Concurrency control in a dynamic search structure. ACM Trans. Database Syst.9, 439–455 (1984)CrossRefMathSciNetGoogle Scholar
  10. 10.
    McCreight, E.M.: Priority search trees. SIAM J. Comput.14, 257–276 (1985)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Nurmi, O., Soisalon-Soininen, E., Wood, D.: Concurrency control in database structures with relaxed balance. In: Proceedings of the 6th ACM Conf. Principles of Database Systems, 1987, 1702-176.Google Scholar
  12. 12.
    Sarnak, N., Tarjan, R.E.: Planar point location using persistent search trees. Comm. ACM29, 669–679 (1986)CrossRefMathSciNetGoogle Scholar
  13. 13.
    Stout, Q.F., Warren, B.L.: Tree rebalancing in optimal time and space. Comm. ACM29, 902–908 (1986)CrossRefGoogle Scholar
  14. 14.
    Tarjan, R.E.: Updating a balanced search tree in O(1) rotations. Inf. Proc. Lett.16, 253–257 (1983).zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Tarjan, R.E.: Data Structures and Network Algorithms. Society for Industrial and Applied Mathematics, Philadelphia, Pa, 1983.Google Scholar

Copyright information

© Springer-Verlag 1996

Authors and Affiliations

  • Otto Nurmi
    • 1
  • Eljas Soisalon-Soininen
    • 2
  1. 1.Department of Computer ScienceUniversity of HelsinkiHelsinkiFinland
  2. 2.Laboratory of Information Processing ScienceHelsinki University of TechnologyEspooFinland

Personalised recommendations