github.com/moontrade/nogc@v0.1.7/collections/tree/README.md (about) 1 libart [![Build Status](https://travis-ci.org/armon/libart.png)](https://travis-ci.org/armon/libart) 2 ========= 3 4 This library provides a C99 implementation of the Adaptive Radix 5 Tree or ART. The ART operates similar to a traditional radix tree but 6 avoids the wasted space of internal nodes by changing the node size. 7 It makes use of 4 node sizes (4, 16, 48, 256), and can guarantee that 8 the overhead is no more than 52 bytes per key, though in practice it is 9 much lower. 10 11 As a radix tree, it provides the following: 12 * O(k) operations. In many cases, this can be faster than a hash table since 13 the hash function is an O(k) operation, and hash tables have very poor cache locality. 14 * Minimum / Maximum value lookups 15 * Prefix compression 16 * Ordered iteration 17 * Prefix based iteration 18 19 20 References 21 ---------- 22 23 Related works: 24 25 * [The Adaptive Radix Tree: ARTful Indexing for Main-Memory Databases](http://www-db.in.tum.de/~leis/papers/ART.pdf)