数组算法--堆排序

Posted 记录编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组算法--堆排序相关的知识,希望对你有一定的参考价值。

首先采用二叉法按照数组原有的顺序就地排序例如:

nums = [1, -6, 2, 23, 1, 9, 34, -2, 42, 37]

就地排序后产生:

随后对每个节点进行重新排序,此时每个节点的父与子关系父节点小于子节点,即上面一行的节点数值永远小于下面一行节点的数值,此时得到了一个全新的数组如下:

建堆后的顺序 nums = [-6, -2, 2, 1, 1, 9, 34, 23, 42, 37]

备注:此案例是建立小顶堆,若需建立大顶堆,则父节点数值永远大于子节点

以上是关于数组算法--堆排序的主要内容,如果未能解决你的问题,请参考以下文章

经典排序算法——堆排序

排序算法---堆排序

经典排序算法——堆排序

算法-java代码实现堆排序

算法排序之堆排序

排序算法堆排序 (算法导论学习)