您的位置:首页 > 编程语言 > Java开发

java排序算法之堆排序

2014-03-18 21:32 211 查看
       在博客http://blog.csdn.net/haizi8888/article/details/21414635中,已经分析了二叉堆进行了比较全面的分析;

       所谓的堆排序,就是对N个数存储为最大(小)堆的形式,每次deleteMin取出一项,运行N次,就可以获得有序的序列;

步骤如下:

1,         将每一项存入数组中;(花费O(N)时间)

2,         调用buildHeap;(花费O(NlogN)时间)

3,         调用N次deleteMin;(花费O(NlogN)时间)

所以堆排序需要的时间为O(NlogN)时间,当然需要额外的O(N)的空间。

代码比较简单,对比下另一篇博客即可;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐