#trie #tree #basic #node #word #seq #traits

trie_tree

适用于 Rust 的基本 trie 树

4 个版本

0.1.3 2019 年 10 月 22 日
0.1.2 2019 年 7 月 9 日
0.1.1 2019 年 7 月 9 日
0.1.0 2019 年 7 月 9 日

11#seq

MIT 许可证

785KB
364 行代码(不包括注释)

包含 (WOFF 字体, 190KB) doc/FiraSans-Medium.woff, (WOFF 字体, 185KB) doc/FiraSans-Regular.woff, (WOFF 字体, 94KB) doc/SourceSerifPro-Bold.ttf.woff, (WOFF 字体, 89KB) doc/SourceSerifPro-Regular.ttf.woff, (WOFF 字体, 56KB) doc/SourceCodePro-Regular.woff, (WOFF 字体, 56KB) doc/SourceCodePro-Semibold.woff 等更多.

trie_tree

trie_tree 是 Rust 的 trie 库,它使用 Rc 和 Refcell 实现

示例

单词 trie

用于构建单词级别的 trie

let word_trie = trie_tree::trie::word::WordTrie::new();
let seq = "你在干什么";
let seq1 = "你在找什么";
word_trie.insert_words(seq, "没干嘛");
word_trie.insert_words(seq1, "是吗");
println!("{:?}", word_trie);

节点 trie

用于构建字符级别的 trie

let node = trie_tree::trie::basic::Node::new();
let seq = vec!["".to_string(), "".to_string(), "".to_string()];
let seq1 = vec!["".to_string(), "".to_string()];
Node::insert_seq(node.clone(), &seq, Leaf::End("intention".to_string()));
let leaf = Node::get_leaf(node.clone(), &seq1);
assert_ne!(leaf, Leaf::End("intention".to_string()));

trie 特性

基本 trie 特性。您可以根据此特性实现自己的 trie 结构。

无运行时依赖