Fast generic radix trie implemented in Rust
Branch: master
Clone or download
Latest commit 8552b23 Oct 7, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Format using rustfmt Oct 7, 2018
src Format using rustfmt Oct 7, 2018
.gitignore Fix child iterator example. Oct 16, 2016
.travis.yml CI: Check formatting using rustfmt Oct 7, 2018
CHANGELOG.md Release 0.1.4 Oct 7, 2018
Cargo.toml Release 0.1.4 Oct 7, 2018
LICENSE Crates.io release 0.0.1 Mar 20, 2015
README.md Update contributor credits and copyright years Feb 25, 2018

README.md

Rust Radix Trie

Build Status

This is a Radix Trie implementation in Rust, building on the lessons learnt from TrieMap and Sequence Trie. You can read about my experience implementing this data structure here.

Help Wanted, Enquire Within

Since writing this code I haven't used it in anger (or production) so it is no doubt in need of some maintenance, testing and optimisation love. If you would like to help out, try solving an open issue, optimise something, or just have a poke around! Thanks :)

Features

  • Compressed nodes. Common key prefixes are stored only once.
  • Trie-specific methods to look-up closest ancestors and descendants.
  • Key Generic. Any type that can be serialised as a vector of bytes can be used as a key.
  • Safe - no unsafe code.

Documentation

https://docs.rs/radix_trie/

Usage

Available on Crates.io as radix_trie.

Just add radix_trie to the dependencies section of your Cargo.toml, like so:

radix_trie = "0.1"

Contributors

Made by:

License

MIT License. Copyright © Michael Sproul and contributors 2015-2018.