4个稳定版本

2.3.0 2023年3月25日
2.2.0 2022年3月12日
2.0.0 2021年4月17日
1.0.0 2021年3月9日

726数据结构 中排名

Download history • Rust 包仓库 38/week @ 2024-03-09 • Rust 包仓库 36/week @ 2024-03-16 • Rust 包仓库 146/week @ 2024-03-23 • Rust 包仓库 601/week @ 2024-03-30 • Rust 包仓库 223/week @ 2024-04-06 • Rust 包仓库 335/week @ 2024-04-13 • Rust 包仓库 203/week @ 2024-04-20 • Rust 包仓库 5/week @ 2024-04-27 • Rust 包仓库 374/week @ 2024-05-04 • Rust 包仓库 181/week @ 2024-05-11 • Rust 包仓库 35/week @ 2024-05-18 • Rust 包仓库 49/week @ 2024-05-25 • Rust 包仓库 43/week @ 2024-06-01 • Rust 包仓库 3/week @ 2024-06-08 • Rust 包仓库 21/week @ 2024-06-15 • Rust 包仓库 4/week @ 2024-06-22 • Rust 包仓库

72 每月下载量

GPL-3.0 许可证

155KB
2.5K SLoC

mc-oblivious-map

此crate提供了一个在无意识RAM之上的无意识哈希表的实现,符合在mc-oblivious-traits中描述的trait的要求。

在crate中目前

  • Cuckoo哈希的桶实现,使用无意识RAM作为Cuckoo哈希的竞技场。有关背景信息,请参阅维基百科。这接近或等同于这篇论文中描述的CUCKOO-DISJOINT算法,只是使用了无意识RAM。这里的access-or-insert方法是这项工作的创新之处,请参阅代码注释以进行讨论。

有关更多背景信息,请参阅“两选择”哈希(ABKU99,Mitzenmacher)。有关更多背景信息,请参阅维基百科。从概念上讲,这是Cuckoo哈希的一个祖先。我们在这种环境中使用这种方法或Cuckoo哈希的主要原因在于它保证了读取操作只对表进行两次访问,这使得常数时间的属性很容易验证。Cuckoo哈希实现了良好的内存利用率,优于“两选择”,这是我们最初尝试的。

依赖项

~440KB