堆排序

本质是:树状结构的使用

 

1、  堆:对任意一棵树的任意一个非叶子节点,该节点值应该大于等于(或小于等于)左右子节点的数据结构

             若满足大于等于,则为大顶堆;反之为小顶堆 

2、算法思想:假设一个大顶堆有n个元素,则将根顶点的元素输出,之后将剩下的n-1个元素再次调整为大顶推,然后再输出根顶点元素,直到堆中没有元素为止

3、堆排序可分为创建堆,调整堆两个步骤

 

创建大顶堆

1、创建大顶堆,就是将一个无序的集合调整为 a[i]>=a[2*i] && a[i]>=a[2*i+1] 的数据结构,其中i>=0 && i<=n/2

2、建立大顶堆的思想

posted on 2017-01-21 22:14  qq77530202  阅读(110)  评论(0编辑  收藏  举报