首页 > 编程语言 > 详细

堆排序

时间:2017-01-21 23:38:03      阅读:312      评论:0      收藏:0      [点我收藏+]

本质是:树状结构的使用

 

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

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

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

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

 

创建大顶堆

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

2、建立大顶堆的思想

堆排序

原文:http://www.cnblogs.com/wshyj/p/6337986.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!