1999
DOI: 10.1017/s0956796899003494
|View full text |Cite
|
Sign up to set email alerts
|

Red-black trees in a functional setting

Abstract: Everybody learns about balanced binary search trees in their introductory computer science classes, but even the stouthearted tremble at the thought of actually implementing such a beast. The details surrounding rebalancing are usually just too messy. To show that this need not be the case, we present an algorithm for insertion into red-black trees (Guibas and Sedgewick, 1978) that any competent programmer should be able to implement in fifteen minutes or less.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
25
0

Year Published

2003
2003
2023
2023

Publication Types

Select...
6
3
1

Relationship

0
10

Authors

Journals

citations
Cited by 53 publications
(25 citation statements)
references
References 11 publications
0
25
0
Order By: Relevance
“…1 shows a recursive Haskell predicate bst that checks whether a given tree with labels strictly between low and high satisfies the standard binary-search tree (BST) invariant [56]. It is followed by a QuickCheck generator genTree, which generates BSTs with a given maximum depth, controlled by the size parameter.…”
Section: Luck By Examplementioning
confidence: 99%
“…1 shows a recursive Haskell predicate bst that checks whether a given tree with labels strictly between low and high satisfies the standard binary-search tree (BST) invariant [56]. It is followed by a QuickCheck generator genTree, which generates BSTs with a given maximum depth, controlled by the size parameter.…”
Section: Luck By Examplementioning
confidence: 99%
“…1 A red-black tree is a self-balancing binary search tree in which each non-leaf node stores a data item and is colored either Red or Black [36]. We define the type of red-black trees of naturals in Coq as follows:…”
Section: Example: Red-black Treesmentioning
confidence: 99%
“…For denoting individual states, we will use the letter s, possibly with indices. The For efficiency, we represent the maps in each level of the abstract state as persistent red-black trees [35] (using Eker's optimizations [19]) to allow fast functional updates with sharing. Regions use interval trees to efficiently detect overlap, and we use hash consing to avoid constructing duplicate objects.…”
Section: Abstract Domainsmentioning
confidence: 99%