algorithm - Max Heapify-伪代码

标签 algorithm language-agnostic heapsort max-heap

我对最大堆排序伪代码的一部分感到困惑。 下降到 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/

相关文章:

algorithm - 装箱 - 已知数量的独特盒子的变体和数量

r - 分类变量的可能排列数

language-agnostic - 什么是不变量?

ruby - tunnlr 等服务如何工作?

找到鉴别数据点的算法?

python - 高效的元组列表比较

language-agnostic - 超线性加速从何而来?

c - 数组下标的无效类型 'int*[__complex__ int]'

c - 降序堆排序

c++ - 使用最小堆的堆排序算法