首页 > 试题广场 >

我们可以以线性时间对左式堆执行BuildHeap操作:把每个

[问答题]
我们可以以线性时间对左式堆执行BuildHeap操作:把每个元素当做是单节点左式堆,把所有这些堆放到一个队列中。之后,让两个堆出队,合并它们,再将合并结果入队,直到队列中只有一个堆为止。
a. 证明该算法在最坏情形下为O(N)
b. 为什么该算法优于直接对左式堆合并的算法?

这道题你会答吗?花几分钟告诉大家答案吧!