各种排序算法的时间复杂度

按平均时间将排序分为四类:

(1)平方阶(O(n2))排序
     一般称为简单排序,例如直接插入、直接选择和冒泡排序;

(2)线性对数阶(O(nlgn))排序

     如快速、堆和归并排序;

(3)O(n1+£)阶排序

     £是介于0和1之间的常数,即0<£<1,如希尔排序;

(4)线性阶(O(n))排序

     如桶、箱和基数排序。

各种排序方法比较

     简单排序中直接插入最好,快速排序最快,当文件为正序时,直接插入和冒泡均最佳。

影响排序效果的因素

     因为不同的排序方法适应不同的应用环境和要求,所以选择合适的排序方法应综合考虑下列因素:
  ①待排序的记录数目n;
  ②记录的大小(规模);
  ③关键字的结构及其初始状态;
  ④对稳定性的要求;
  ⑤语言工具的条件;
  ⑥存储结构;
  ⑦时间和辅助空间复杂度等。

posted on 2011-10-06 10:30  最牛“朋朋”  阅读(391)  评论(0编辑  收藏  举报

导航