算法堆排序

Posted 九师兄

tags:

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


1.概述

视频地址:https://www.bilibili.com/video/BV1E4411H73v?p=108

堆排序的基本思想是:

  1. 将待排序序列构造成一个大顶堆
  2. 此时,整个序列的最大值就是堆顶的根节点。
  3. 将其与末尾元素进行交换,此时末尾就为最大值。
  4. 然后将剩余n-1个元素重新构造成一-个堆, 这样会得到n个元素的次小值。如此反复执行,便能得到一个有序序列了。

可以看到在构建大顶堆的过程中,元素的个数逐渐减少,最后就得到一个有序序列了.

2.图解

堆排序步骤图解说明

要求:给你一个数组{4,6,8,5,9}, 要求使用堆排序法,将数组升序排序。

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

堆排序算法的实现

排序算法:堆排序-Java实现

[ 数据结构 -- 手撕排序算法第七篇 ] 堆排序(中)堆排序的优化算法

重温基础算法内部排序之堆排序法

重温基础算法内部排序之堆排序法

排序算法 | 堆排序