9 个版本
0.1.8 | 2022年10月4日 |
---|---|
0.1.7 | 2022年10月4日 |
0.1.6 | 2022年9月29日 |
768 在 数据结构 中排名
每月 25 次下载
110KB
2K SLoC
Tree_collections
此库的目的是提供API,允许用户创建内存高效的二叉搜索树、红黑树和AVL树。此外,通过使用此库,用户可以研究红黑树和AVL树之间的性能差异,这有助于他们深入理解算法。
快速开始
use tree_collections::prelude::*;
fn main() {
let mut rb_tree = RBTree::new();
rb_tree.insert(1);
rb_tree.insert(2);
rb_tree.insert(3);
rb_tree.insert(4);
rb_tree.insert(5);
rb_tree.delete(3);
println!("Red-Black Tree:");
rb_tree.print();
println!("Number of leaves: {:?}", rb_tree.count_leaves());
println!("Height of tree: {:?}", rb_tree.height());
let mut avl_tree = AVLTree::new();
avl_tree.insert(1);
avl_tree.insert(2);
avl_tree.insert(3);
avl_tree.insert(4);
avl_tree.insert(5);
avl_tree.delete(3);
println!("AVL Tree:");
avl_tree.print();
println!("Number of leaves: {:?}", avl_tree.count_leaves());
println!("Height of tree: {:?}", avl_tree.height());
}
文档
API 文档在: https://docs.rs/tree_collections/latest/tree_collections/
或使用以下方式生成文档
$ cargo doc
用户推广
运行用户推广
$ cargo run
操作列表
$ insert
$ delete
$ count
$ height
$ inorder print
$ preorder print
$ empty
$ search
$ print tree
$ exit
测试
使用以下方式运行测试
$ cargo test
基准测试
使用以下方式运行基准测试
$ cargo bench
要求
Cargo 版本:1.56^
参考: https://blog.rust-lang.net.cn/2021/10/21/Rust-1.56.0.html
依赖项
~9–20MB
~258K SLoC