`
tcmrabbit
  • 浏览: 16673 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
  • zwhc: 堆排序与直接选择排序的区别  直接选择排序中,为了从R[1.. ...
    排序算法

排序算法

阅读更多
稳定的排序算法:冒泡排序、插入排序、归并排序和基数排序
不稳定的排序算法:选择排序、快速排序、希尔排序、堆排序

在初始序列已基本有序(除去n个元素中的某k个元素后即呈有序,k<<n)的情况下,排序效率最高的算法是: 插入排序

排序的平均时间复杂度为O(n•logn)的算法是:归并排序、快速排序、堆排序
排序的平均时间复杂度为O(n•n)的算法是:冒泡排序、插入排序、选择排序

排序过程中的比较次数与排序方法无关的是:选择排序、归并排序

如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列,最快的算法是:堆排序

在文件"局部有序"或文件长度较小的情况下,最佳内部排序的方法:插入排序
分享到:
评论
1 楼 zwhc 2010-04-01  
堆排序与直接选择排序的区别

  直接选择排序中,为了从R[1..n]中选出关键字最小的记录,必须进行n-1次比较,然后在 R[2..n]中选出关键字最小的记录,又需要做n-2次比较。事实上,后面的n-2次比较中,有许多比较可能在前面的n-1次比较中已经做过,但由于前一趟排序时未保留这些比较结果,所以后一趟排序时又重复执行了这些比较操作。
  堆排序可通过树形结构保存部分比较结果,可减少比较次数。

http://baike.baidu.com/view/157305.htm

相关推荐

Global site tag (gtag.js) - Google Analytics