#binary-heap #heap #binary #priority-queue #priority #queue

mut-binary-heap

std::collections::BinaryHeap的增强版本,支持增加和减少键、最大值、最小值和自定义顺序堆

1个不稳定发布

0.1.0 2023年3月20日

#1998 in 数据结构

MIT/Apache

105KB
1.5K SLoC

mut-binary-heap

Crates.io Documentation Codecov Dependency status

此创建提供了存储键值对的二叉堆实现。其主要优势在于,与类似于 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许可证定义,您有意提交以包含在工作中的任何贡献,将如上双授权,不附加任何额外条款或条件。

依赖项

~195KB