有很多数据结构实现了优先级队列接口:
- 插入:将元素插入结构
- Get-Min:返回结构中的最小元素
- Extract-Min:删除结构中的最小元素
实现此接口的常见数据结构是(min)堆。
通常,这些操作的(摊销)运行时间为:
- 插入:(有时)O(log n )
- Get-Min:
- 提取最小值:
例如,斐波那契堆可达到这些运行时间。现在,我的问题是:
是否存在具有以下(摊销)运行时间的数据结构?
- 插入:
- Get-Min:
- 提取最小值:
如果我们可以在给定排序输入的情况下在时间内构造这样的结构,那么我们可以例如在比使用“通常”优先级队列的路口快得多。o (n