插入最多堆,最多只有一个交换

时间:2013-08-17 11:53:22

标签: algorithm priority-queue max-heap

是否存在一个算法,只需一次交换即可插入堆中(允许进行O(log n)比较)

1 个答案:

答案 0 :(得分:1)

没有。

考虑这个堆:

max heap

假设您添加200.显然它必须成为新的根。

那么100去哪儿了?它不能成为3的孩子,如果你只有一个交换,那就是它必须做的事情。