3 Commits (fd191332cde58697add3ac379026bcc1a9fe4fc2)

Author SHA1 Message Date
Eric Ihli fd191332cd Show root node in seq of Trie
Before, if you did a lookup in a trie and then did a seq of the result,
you would get all of the children of the node that you looked up, but
you wouldn't get the value of the node itself.

This was nice when I was only getting children of the root node
because the root node never had a value and I didn't want it.

But I think it makes more since to always include the root node.
If it's not wanted, filter it out at the application level.
4 years ago
Eric Ihli 77475e0c13 Redesign API, add tests, add example useage
- Add tests
- Refactor new version of Trie to be more coll-like
- Add an example use-case using a Markov chain to generate text
4 years ago
Eric Ihli 56be9e9898 Implement hash-map and byte-array tries
The hash-map trie is convenient to work with at the REPL since the
key/values are human readable and the backing data is traversible in a
fashion familiar to Clojure.

The byte-array backed trie has a slightly different API but is far more
memory efficient.

The paper that the tightly backed trie is based on can be viewed at
https://www.aclweb.org/anthology/W09-1505.pdf
4 years ago