2 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2017年7月18日 |
---|---|
0.0.1 | 2017年6月14日 |
#1428 in 数据结构
72KB
2K SLoC
Rudy
Rudy 是 Rust 中的 Judy 数组实现。Judy 数组是非常高效的词到词或词到布尔映射,适用于不同的数据。参考 Judy 数组实现 提供了词到词映射(JudyL)、一组词(Judy1)、字符串到词(JudySL)以及固定长度字节数组到词映射(JudyHS)。Judy 数组使用压缩的 256 进制字典树。
初始的 Rudy 实现将实现 JudyL 为 RudyMap 和 Judy1 为 RudySet。因为零大小类型可以用 RudyMap 来表示,所以将 RudySet 表示为 RudyMap
Judy 和 Rudy 的区别
Rudy 似乎是第一个在核心库中使用泛型的实现。C++ 的 judy-template 绑定允许自动将词转换为和从词转换,但不能使用需要更大存储空间的值。使用泛型允许对于较小的类型使用更低的内存使用,同时可以使用更大的类型,这可能会影响性能。
状态
- 通用库结构
- 顶级根节点
- Leaf1
- Leaf2
- VecLeaf
- JPM
- 线性 Leaf
- 位图 Leaf
- 位图分支
- 线性分支
- 未压缩分支
- 插入
- 获取
- 移除
- 内存使用
- 缩小
- 迭代器
许可证
Rudy 在 MIT 和 Apache-2.0 许可证下双许可。
依赖
~245KB