MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Fast Mergeable Integer Maps (1998) [14 citations — 1 self]

by Chris Okasaki ,  Andrew Gill
In Workshop on ML
Add To MetaCart

Abstract:

Finite maps are ubiquitous in many applications, but perhaps nowhere more so than in compilers and other language processors. In these applications, three operations on finite maps dominate all others: looking up the value associated with a key, inserting a new binding, and merging two finite maps. Most implementations of finite maps in functional languages are based on balanced binary search trees, which perform well on the first two, but poorly on the third. We describe an implementation of finite maps with integer keys that performs well in practice on all three operations. This data structure is not new -- indeed, it is thirty years old this year -- but it deserves to be more widely known.

Citations

156 Purely functional data structures – Okasaki - 1998
40 PATRICIA—practical algorithm to retrieve information coded in alphanumeric – Morrison - 1968
9 Red-black trees in a functional setting – Okasaki - 1999
8 A logarithmic implementation of flexible arrays – Hoogerwoord - 1992
4 Three algorithms on Braun trees – Okasaki - 1997
2 A logarithmic implementation of arrays – Hoogerwoord - 1992
1 Efficient sets---a balancing act – Adams - 1993