我正在看一本我有算法的书,遇到了这个我理解困难的问题。使用最大堆:
LARGE是需要排序的数字的较大一半。 I.E. LARGE = {n / 2,n / 2 + 1,... n}
最初,在HeapSort的构建堆阶段之后,LARGE中有多少项可以在堆的顶级(log n)/ 4级内?
让A成为LARGE中最初既不在底层也不在顶部(log n)/ 4级别的项目。 A?中至少有多少项目?
如前一个答案中所述,LARGE中最初可能位于底层的元素数量为2 ^(h-1)。我的理论是,如果我找到顶部log n / 4级别的那些,我可以从顶部减去底部并找到中间的底部。不知道怎么去寻找顶级水平。我可以假设n足够大,使得四分之一的水平均匀,即每个季度8个水平/ 4 = 2个水平。