您的位置:首页 > 其它

堆排序

2014-07-02 21:21 78 查看


堆排序 Heap Sort

  堆排序是一种选择排序,其时间复杂度为O(nlogn)。

堆的定义

  n个元素的序列{k1,k2,…,kn}当且仅当满足下列关系之一时,称之为堆。

  情形1:ki <= k2i 且ki <= k2i+1 (最小化堆小顶堆

  情形2:ki >= k2i 且ki >= k2i+1 (最大化堆大顶堆

  其中i=1,2,…,n/2向下取整;

Heap
Sort

堆排序分析

  堆排序方法对记录数较少的文件并不值得提倡,但对n较大的文件还是很有效的。因为其运行时间主要耗费在建初始堆和调整建新堆时进行的反复“筛选”上。

  堆排序在最坏的情况下,其时间复杂度也为O(nlogn)。相对于快速排序来说,这是堆排序的最大优点。此外,堆排序仅需一个记录大小的供交换用的辅助存储空间。

  参考资料:

  严蔚敏《数据结构》

  /article/4718950.html

  /article/1389267.html

转载自/article/4672787.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: