我对最大堆排序伪代码的一部分感到困惑。 下降到 2 是什么意思?
HeapSort(A)
Build-Max-Heap(A)
for i <-- length[A] <b><i>down to 2</i></b>
do exchange A[1] <---> A[i]
heap-size[A] = heap-size[A] -1
Max-Heapify(A,1)
最佳答案
这意味着您为 {length[A], length[A] - 1, length[A] - 2, ..., 2}
中的每个 i 值重复该 block 。
如果这是 C(或 C++,或 Java——所有相同的语法),可以这样写:
for (int i = length(A), i >= 2, i--) {
do...
}
关于algorithm - Max Heapify-伪代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43700267/