【第 27 题:如何理解堆排序?】什么是堆排序?是指利用堆这种数据结构所设计的一种排序算法 。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点
在看本文之前请先了解以下概念
完全二叉树:除了最后一层之外的其他每一层都被完全填充,每一层从左到右的填充数据,不能空缺(只是类似这个结构,所以本文不会用到这个知识点)
堆:分为大顶堆和小顶堆两种
大顶堆(小顶堆):可分为有序区和无序区,初始全部为无序区
执行的步骤是如何进行的?
- 无非就是将一个无序数组转化为大顶堆(小顶堆)
- 将堆顶的值和无序数组末尾值交换位置
- 根据堆的性质进行调整,成为大顶堆(小顶堆)
- 然后又继续 1~3 的步骤,反反复复直到无序区没有值为止
如何辨别有序区和无序区?

文章插图
- 春季老年人吃什么养肝?土豆、米饭换着吃
- 三八妇女节节日祝福分享 三八妇女节节日语录
- 老人谨慎!选好你的“第三只脚”
- 校方进行了深刻的反思 青岛一大学生坠亡校方整改校规
- 脸皮厚的人长寿!有这特征的老人最长寿
- 长寿秘诀:记住这10大妙招 100%增寿
- 春季老年人心血管病高发 3条保命要诀
- 眼睛花不花要看四十八 老年人怎样延缓老花眼
- 香槟然能防治老年痴呆症? 一天三杯它人到90不痴呆
- 老人手抖的原因 为什么老人手会抖
