基于比较排序的优先级队列 - 绑定队列比较

时间:2016-09-15 07:39:46

标签: algorithm sorting priority-queue

我需要证明你不能有基于比较的PQ算法,其中insert和deleteMax都使用少于lg(N)/ 3 + O(1)比较操作,其中N是队列的当前长度。 / p>

据我所知,它与基于比较的排序绑定Nlog(N)有关,但无法达到所需的值。

请帮忙!

1 个答案:

答案 0 :(得分:2)

这几乎来自standard analysis of the decision tree bound on comparison-based sorting

n!排列,它是决策树的叶子数。树的高度至少为 log(n!) - O(1)

相反,如果您可以使用问题中的比较次数实际执行操作,则高度最多为

i = 1 n [log(i)/ 3 + O(1)]

(乘法2是因为有插入和删除最大值)。

然而,

i = 1 n [log(i)/ 3 + O(1)] = 2/3 log(n!)+Θ (n)的

显然,Stirling's approximation

lim n→∞ [(2/3 log(n!)+Θ(n))/(log(n!) - O(1)] = 2/3

这表明,渐近地,树的高度还不够 - 它大约是所需要的2/3。