写点什么

堆排序

0 人感兴趣 · 5 次引用

  • 最新
  • 推荐

讲透学烂二叉树 (四):二叉树的存储结构—建堆 - 搜索 - 排序

用户头像
zhoulujun
2021-08-15

二叉树通常采用链式存储结构,存储结点由数据域和指针域。用一组连续的存储单元依次自上而下,自左至右存储完全二叉树上的结点元素,即将二叉树上编号为i的结点元素存储在加上定义的一维数组中下标为i-1的分量中。

https://static001.geekbang.org/infoq/ba/ba0c83c6193fca41a96ba28c1d4460fc.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

图解堆排序,带你彻底了解清楚!

写在前面: 堆排序作为排序算法之一,巧妙运用二叉树的性质来实现排序。本文采用图解方式,清晰透彻,一目了然。

https://static001.geekbang.org/infoq/4e/4e02fc9a731f676c78d5816951fd9d44.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

图解堆排序

用户头像
Silently9527
2021-03-17

假如我们从构建好的优先级队列中持续调用删除最小(或者最大),把结果输出到另一个数组中,那么就可以把数组的所有元素进行排序,这就是本篇我们需要学习的**堆排序**。在看本篇之前需要先看下前一篇《原来实现优先级队列如此简单》

https://static001.geekbang.org/infoq/56/5696f4aaf47d5b59582bd3dd400701f7.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

python 实现·十大排序算法之堆排序 (Heap Sort)

用户头像
南风以南
2020-05-27

堆排序是利用堆这种数据结构而设计的一种排序算法。思路为: 将一个无序序列调整为一个堆,就能找出序列中的最大值(最小值),然后将找出的这个元素与末尾元素交换,这样有序序列元素就增加一个,无序序列元素减少一个,对新的无序序列重复操作,从而实现排序

堆排序_堆排序技术文章_InfoQ写作社区