我正在考虑使用两个严格的斐波纳契队列 - queue_0
和queue_1
- 其中queue_0
包含日期时间有序事件(key
)和queue_1
持有删除。
然后我可以简单地运行:
if(queue_0->findMin() == queue_1->findMin())
queue_0->deleteMin(), queue_1->deleteMin;
这样做是以牺牲辅助存储器的非恒定增加为代价的; insert取O(1),任意“删除”,delete-min取O(lg n)。 [所有最坏情况的复杂性;在最坏的情况下,第二队列的成本不超过第一队列的2倍复杂度;即:相当于Big-Oh]
那么,是否有任何开源分布式优先级队列具有有效的任意删除? - 例如:使用这种简单的方法还是更复杂的方法? - 也许可以与Redis或类似的东西整合?