堆排序详解

在这里插入图片描述
设有一个无序序列 { 1, 3, 4, 5, 2, 6, 9, 7, 8, 0 }。
1、构造初始堆
在这里插入图片描述
初始堆构造完毕之后,所有的父节点都比自己的子孙节点都大

2、构造初始堆后,就需要完整的堆排序
解释: 从第(2)步开始已经是最大堆了,之后就是“根元素和最后一个元素交换位置,然后输出最后一个元素(是目前堆的最大值)”和“筛选调整堆结构使之仍然是一个最大堆”
在这里插入图片描述
在这里插入图片描述
代码实现是C语言版

posted @ 2019-03-09 12:13  抬头不见星空  阅读(88)  评论(0)    收藏  举报