1个不稳定版本
0.1.0 | 2024年4月4日 |
---|
1406 在 数据结构 中
每月38次下载
36KB
847 行
Rust中的红黑树
本项目是《算法导论》第四版中描述的红黑树数据结构的Rust实现。你可以将其称为“教科书实现”。
红黑树是一种自平衡二叉搜索树。树的每个节点都有一个额外的位来表示节点的颜色,红色或黑色。红黑树通过执行节点旋转和颜色变化的某些规则来确保树的平衡,从而保证了搜索、插入和删除操作的时间复杂度为 O(log n)
。
用法
以下是一个如何使用红黑树插入元素和搜索树中的示例
use atlas_rb_tree::Tree;
fn main() {
let mut tree = Tree::new(0);
tree.insert(5);
tree.insert(3);
tree.insert(10);
if tree.contains_key(5) {
println!("Found 5 in the tree!");
}
tree.delete(5);
}
运行测试
cargo test
运行基准测试
cargo bench
贡献
请阅读 CONTRIBUTING.md 以了解我们的行为准则和提交拉取请求的流程。
许可证
本项目采用MIT许可证 - 详细内容请参阅 LICENSE.txt 文件。