具有O(1)delete-max,insert-min和find-min以及O(log n)插入和删除的优先级队列

时间:2016-03-12 16:13:43

标签: algorithm data-structures finger-tree

单调优先级队列是否可能具有:

  1. O(1)用于查找和删除具有最高优先级的项目,
  2. O(1)用于插入项目,假设优先级低于其他项目,
  3. O(log n)用于插入和删除项目而无需假设?
  4. 我确实知道插入和删除是否允许使用链表进行O(n)。我也在考虑跳过清单。但是,在最坏的情况下,插入和删除项目是O(n)。

    不需要减少密钥。

1 个答案:

答案 0 :(得分:2)

在摊销意义上,红黑树具有这种特性。在最坏的情况下,您可以使用许多手指树设计中的一种,例如Fleischer's "A Simple Balanced Search Tree with O(1) Worst Case Update Time."

I wrote a long overview of how these things work.