目前这个系列的文章都挑着非常经典的,让人眼前一亮的算法,今天的堆排序算法就是其中一个 。首先理解什么是堆,这里面堆(Heap)并不是程序中内存区域,而是一种完全二叉树表示的数据结构 。堆具有以下特点
- 是一个完全二叉树
- 堆的每个节点的值必须大于等于左右树节点(大顶堆),或小于等于左右树节点(小顶堆) 。
小顶堆
堆存储
堆因为是完全二叉树,非常适合用数组存储,上图为大顶堆的存储情况,其中a[0]不用,a[1]为大顶堆的顶点,也就是最大的数据,a[1
推荐阅读
- 文件排序怎么设置自定义 文件排序规则
- 下一站江湖代码修改 下一站江湖代码大全
- 电脑桌面时钟怎么设置 程序员桌面时钟编程代码
- cs1.6电脑锁屏命令 cs1.6控制台指令代码大全
- 战国七雄分布图 战国七雄都有谁谁最强如何排序?
- 李白生平 求李白一生都经过什么地方,最好按时间排序
- 源代码的结局 人工智能最后的结果是什么
- 源代码结局,电影《源代码》的结局什么意思
- 三星堆位于,四川三星堆遗址,是历史上哪个朝代
- html框架布局模板代码 网页设计效果图及代码