3 个版本 (破坏性更新)
0.3.0 | 2024年6月25日 |
---|---|
0.2.0 | 2024年6月25日 |
0.1.0 | 2024年6月22日 |
#8 in #索引
每月36次下载
24KB
457 代码行
索引优先队列
支持基于索引删除、恢复和值更新的索引优先队列。
关于
以下操作的数据结构优先队列
操作 | 时间复杂度 | 描述 |
---|---|---|
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