c++ - Heapsort - 为什么 PercolateDown() 中的循环迭代 (length/2) 次?

标签 c++ heapsort

最佳答案

当您构建最大/最小堆时,您不需要堆化(PercolateDown)叶子,因为它们不能有任何比其 parent 更大/更小的 child 。

关于c++ - Heapsort - 为什么 PercolateDown() 中的循环迭代 (length/2) 次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9545785/

相关文章:

c - 尝试 Cormen 的堆排序,但出现段错误

c++ - 如何通过引用传递指针来更改指针指向的位置?

algorithm - 使用堆排序可以在 Θ(log n) 时间内对多少个元素进行排序?

c++ - 匹配 printf 格式与 iomanip

c++ - 如何让 C++ 忽略不正确的输入?

c++ - 通过 std::reference_wrapper 行为不一致的纯虚函数的运行时多态调用

algorithm - 显示堆排序重复比较

c++ - 为什么我的 n log(n) 堆排序比我的 n^2 选择排序慢

c++ - protected 枚举不被视为类型,为什么?

c++ - 如何使用自定义比较器功能将所有字谜组合在一起?