bagofholding 0.1.0

A crate of collection types. Efficient data structures that look bigger on the inside.
Documentation
Tries are a very interesting data structure. Tries are designed to compress string prefixes
to allow the storage of large string datasets in a memory-efficient manner.
Tries are built as trees of substrings. In fact, the word "trie" was selected because the
word "tree" was already taken; initially trie was pronounced identicially as tree, but 
spelled differently to differentiate the two structures. 

There are many different flavors of trie, each with different trade offs.

# Static Tries


# Dynamic Tries

* Array Trie

* Patricia array

* Burst Trie

* HAT Trie

* Judy

* B-Trie

* Suffix Trees

* LOUDS-Sparse / LOUDS-Dense / Surf

* Radix Trie

* Compact Trie

* R-way Trie

* De la Briandais Trie

* List Trie

* Ternary Search Trie

* Double-array

# Node Label Map

In practice, most tries don't actually store the characters on each node, but instead
store them in a Node Label Map, which is a data structure mapping from unique integer IDs
to substrings.

There are different NLM implementations, each again offering different trade-offs.

* m-Bonsai

* FK-hash