1个不稳定发布
0.1.0 | 2023年3月20日 |
---|
#1998 in 数据结构
105KB
1.5K SLoC
mut-binary-heap
此创建提供了存储键值对的二叉堆实现。其主要优势在于,与类似于 std::collections::BinaryHeap
的实现相比,检查是否存在任何给定键的操作是 O(1)
而不是 O(n)
。同样,对于获取给定键的值也是如此。这允许在二叉堆中便宜地修改值。如果直接访问值,则更新值是 O(log n)
。对于不存储键值对二叉堆的更新操作将是 O(n)
,因为它们首先必须找到要更新的值。缺点是需要额外的存储空间来存储一个哈希表,该哈希表为每个键提供堆索引。
超过Rust的 std::collections::BinaryHeap
的增强。
MSRV (最低支持的Rust版本)
最低支持的Rust版本是1.56.0。
更改
此crate基于 binary-heap-plus,它本身是基于标准库中 BinaryHeap
的实现。
版本0.1.0提供了一个彻底的重构,允许存储键值对以及检索和修改值。
更多请参阅: CHANGELOG.md。
许可
根据以下任一许可授权
- Apache许可证版本2.0(《LICENSE-APACHE》或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(《LICENSE-MIT》或http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交以包含在工作中的任何贡献,将如上双授权,不附加任何额外条款或条件。
依赖项
~195KB