Skip to main content

On constructing 2-3 trees

  • RALF HINZE (a1)

We consider the task of constructing 2-3 trees. Given a sequence of elements we seek to build a 2-3 tree–in linear time–that contains the elements in symmetric order. We discuss three approaches: top-down, bottom-up, and incremental. The incremental approach is more flexible than the other two in that it allows us to interleave the construction work with other operations, for example, queries.

Hide All
Aho, A. V., Hopcroft, J. E. & Ullman, J. D. (1974) The Design and Analysis of Computer Algorithms. Addison-Wesley Publishing Company.
Braun, W. & Rem, M. (1983) A Logarithmic Implementation of Flexible Arrays. Memorandum MR83/4, Eindhoven University of Technology.
Hinze, R. (1999) Constructing red-black trees. In Proceedings of the Workshop on Algorithmic Aspects of Advanced Programming Languages (WAAAPL’99), Okasaki, C. (ed), pp. 8999. The proceedings appeared as a technical report of Columbia University, CUCS-023-99.
Hinze, R. (2001) Manufacturing datatypes. J. Funct. Program. 11(5), 493524.
Hinze, R. (2009) Functional Pearl: Purely functional 1-2 brother trees. J. Funct. Program. 19(6), 633644.
Hinze, R. & Paterson, R. (2006) Finger trees: A simple general-purpose data structure. J. Funct. Program. 16(2), 197217.
Hoffmann, C. M. & O’Donnell, M. J. (1982) Programming with equations. ACM Trans. Program. Lang. Syst. 4(1), 83112.
Okasaki, C. (1997) Functional Pearl: Three algorithms on Braun trees. J. Funct. Program. 7(6), 661666.
Okasaki, C. (1998) Purely Functional Data Structures. Cambridge University Press.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Journal of Functional Programming
  • ISSN: 0956-7968
  • EISSN: 1469-7653
  • URL: /core/journals/journal-of-functional-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *


Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed

On constructing 2-3 trees

  • RALF HINZE (a1)
Submit a response


No Discussions have been published for this article.


Reply to: Submit a response

Your details

Conflicting interests

Do you have any conflicting interests? *