#trie #tree #basic #now #tree-structure #node #word

basic_tree

Rust 的基本树库,目前仅包括 trie

6 个版本

0.2.5 2019 年 10 月 22 日
0.2.4 2019 年 10 月 22 日

#45 in #now

每月 22 次下载

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 和更多

Basic_Tree

Crate

Rust 树结构库。

Basic_tree 提供基本的树实现。

目前,它只实现了 trie 树

用法

将以下内容添加到您的 Cargo.toml

[dependencies]
basic_tree = "*"

说明

这个库只是个人作品,希望它能帮到您


lib.rs:

basic_tree

basic_tree 是 Rust 的 trie 库,它利用 Rc 和 Refcell 实现

示例

单词 Trie

用于构建单词级别的 trie

let word_trie = basic_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 = basic_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 结构。

无运行时依赖