#优先队列 #索引 # #索引化 #更新 #日志 #数据结构

indexed_priority_queue

支持基于索引删除、恢复和值更新的索引优先队列

3 个版本 (破坏性更新)

0.3.0 2024年6月25日
0.2.0 2024年6月25日
0.1.0 2024年6月22日

#8 in #索引

每月36次下载

MIT 许可证

24KB
457 代码行

索引优先队列

githubcrates-iodocs-rs

支持基于索引删除、恢复和值更新的索引优先队列。

关于

以下操作的数据结构优先队列

操作 时间复杂度 描述
push(索引,) O(log n) 将索引-值对插入队列。
pop() -> Option<索引> O(log n) 从优先队列中删除并返回具有最小值的索引。
remove(索引) O(log n) 从优先队列中删除给定的索引。
restore(索引) O(log n) 将之前删除的索引重新插入到优先队列中,其值为最后关联的值。
min() -> Option<索引> O(1) 检索优先队列中具有最小值的索引,但不从队列中删除。
get(索引) -> O(1) 返回与给定索引关联的值。如果索引不存在,则引发恐慌。
update_dyn(索引) -> &mut O(log n) 修改与给定索引关联的值。
update_up(索引) -> &mut O(log n) 增加与给定索引关联的值。比 update_dyn 更高效。
update_down(索引) -> &mut O(log n) 减少与给定索引关联的值。比 update_dyn 更高效。

示例

示例可在以下位置找到: https://github.com/binary-banter/indexed_priority_queue/tree/main/examples

无运行时依赖