数组算法--堆排序
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]
备注:此案例是建立小顶堆,若需建立大顶堆,则父节点数值永远大于子节点
以上是关于数组算法--堆排序的主要内容,如果未能解决你的问题,请参考以下文章