Functional Pearl: Purely Functional 1−2 Brother Trees

Enter the computing arboretum and you will find a variety of well-studied trees: AVL trees, symmetric binary B-trees, Hopcroft's 2-3 trees, the bushy finger trees, and the colourful red-black trees. In this pearl, we look at a more exotic species of balanced search trees, 1-2 brother trees, whi...

Full description

Bibliographic Details
Main Author: Hinze, R
Format: Journal article
Published: 2009
_version_ 1826264728485232640
author Hinze, R
author_facet Hinze, R
author_sort Hinze, R
collection OXFORD
description Enter the computing arboretum and you will find a variety of well-studied trees: AVL trees, symmetric binary B-trees, Hopcroft's 2-3 trees, the bushy finger trees, and the colourful red-black trees. In this pearl, we look at a more exotic species of balanced search trees, 1-2 brother trees, which deserves to be better known. Brother trees lend themselves well to a functional implementation with deletion as straightforward as insertion, both running in logarithmic time. Furthermore, brother trees can be constructed from ordered lists in linear time. With some simple optimisations in place, this implementation of search trees is one of the fastest around. So, fasten your seat belts.
first_indexed 2024-03-06T20:12:31Z
format Journal article
id oxford-uuid:2b0b53c7-b08a-4d41-899e-c2b0b1827b4c
institution University of Oxford
last_indexed 2024-03-06T20:12:31Z
publishDate 2009
record_format dspace
spelling oxford-uuid:2b0b53c7-b08a-4d41-899e-c2b0b1827b4c2022-03-26T12:28:37ZFunctional Pearl: Purely Functional 1−2 Brother TreesJournal articlehttp://purl.org/coar/resource_type/c_dcae04bcuuid:2b0b53c7-b08a-4d41-899e-c2b0b1827b4cDepartment of Computer Science2009Hinze, REnter the computing arboretum and you will find a variety of well-studied trees: AVL trees, symmetric binary B-trees, Hopcroft's 2-3 trees, the bushy finger trees, and the colourful red-black trees. In this pearl, we look at a more exotic species of balanced search trees, 1-2 brother trees, which deserves to be better known. Brother trees lend themselves well to a functional implementation with deletion as straightforward as insertion, both running in logarithmic time. Furthermore, brother trees can be constructed from ordered lists in linear time. With some simple optimisations in place, this implementation of search trees is one of the fastest around. So, fasten your seat belts.
spellingShingle Hinze, R
Functional Pearl: Purely Functional 1−2 Brother Trees
title Functional Pearl: Purely Functional 1−2 Brother Trees
title_full Functional Pearl: Purely Functional 1−2 Brother Trees
title_fullStr Functional Pearl: Purely Functional 1−2 Brother Trees
title_full_unstemmed Functional Pearl: Purely Functional 1−2 Brother Trees
title_short Functional Pearl: Purely Functional 1−2 Brother Trees
title_sort functional pearl purely functional 1 2 brother trees
work_keys_str_mv AT hinzer functionalpearlpurelyfunctional12brothertrees