配对堆 - O(1)减少关键?

时间:2016-05-19 19:00:34

标签: heap amortized-analysis pairing-heap

我正在为我的一门课程完成作业,一个问题要求显示配对堆的减少键操作需要O(1)时间。

显然,如果你有一个指向要减少的键的指针,那么操作将花费O(1)时间(只需删除链接,更改键值,然后合并)。

但是,在赋值中没有说它给我们指向键的指针。如果我们没有给出一个指针,那么减少密钥就没有办法花费O(1)时间(你必须首先在堆中寻找密钥,而且这不是'花时间)。我查看了文献,并且都说减少密钥需要O(logn)时间。

我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:2)

即使您有指向相关元素的指针,配对堆中的reduce-key的摊销成本也不是O(1)。已经证明,在配对堆中的减少键操作的摊余成本上存在Ω(log log n)下限。这不容易证明;有关详细信息,请参阅this paper