Constructing Red−Black Trees

This paper explores the structure of red-black trees by solv ing an apparently simple problem: given an ascending sequence of elements, construct, in linear tim e, a red-black tree that contains the elements in symmetric order. Several extreme red-black tree shapes are ch acterized: trees of minimum and maximum height, trees with a minimal and with a maximal proportion of red nodes. These characterizations are obtained by relating tree shapes to various number systems. In addition, connections to left-complete trees, AVL trees, and half-balanced trees are highlighted.

[1]  Stephen Adams,et al.  Functional Pearls Efficient sets—a balancing act , 1993, Journal of Functional Programming.

[2]  Leonidas J. Guibas,et al.  A new representation for linear lists , 1977, STOC '77.

[3]  Chris Okasaki,et al.  Purely functional data structures , 1998 .

[4]  Richard S. Bird,et al.  FUNCTIONAL PEARL On building trees with minimum height , 1997, Journal of Functional Programming.

[5]  Derick Wood,et al.  Data structures, algorithms, and performance , 1992 .

[6]  Chris Okasaki,et al.  Functional Data Structures , 1996, Handbook of Data Structures and Applications.

[7]  Jörg-Rüdiger Sack,et al.  A Characterization of Heaps and Its Applications , 1990, Inf. Comput..

[8]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume 3: Sorting and Searching , 1998 .

[9]  Henk J. Olivié,et al.  A New Class of Balanced Search Trees: Half Balanced Binary Search Trees , 1982, RAIRO Theor. Informatics Appl..

[10]  Chris Okasaki,et al.  Red-black trees in a functional setting , 1999, Journal of Functional Programming.

[11]  Ralf Hinze Explaining Binomial Heaps , 1999, J. Funct. Program..

[12]  Richard S. Bird,et al.  FUNCTIONAL PEARL On building trees with minimum height , 1997, Journal of Functional Programming.

[13]  Richard S. Bird,et al.  Functional Algorithm Design , 1995, Sci. Comput. Program..

[14]  M. AdelsonVelskii,et al.  AN ALGORITHM FOR THE ORGANIZATION OF INFORMATION , 1963 .

[15]  M. V. Wilkes,et al.  The Art of Computer Programming, Volume 3, Sorting and Searching , 1974 .