各种排序算法的比较

1..稳定性比较


插入排序、冒泡排序、二叉树排序、二路归并排序及其他线形排序是稳定的


选择排序、希尔排序、快速排序、堆排序是不稳定的


2.时间复杂性比较


 


                 平均情况   最好情况   最坏情况
归并排序    O(nlogn)    O(nlogn)    O(nlogn)
基数排序    O(n)  O(n)  O(n)
快速排序    O(nlogn)    O(nlogn)    O(n2)
希尔排序    O(n1.5) O(n)  O(n1.5)
插入排序    O(n2)    O(n)  O(n2)
选择排序    O(n2)    O(n2)    O(n2)




辅助空间的比较


线形排序、二路归并排序的辅助空间为O(n),其它排序的辅助空间为O(1);


4.其它比较


插入、冒泡排序的速度较慢,但参加排序的序列局部或整体有序时,这种排序能达到较快的速度。


反而在这种情况下,快速排序反而慢了。


当n较小时,对稳定性不作要求时宜用选择排序,对稳定性有要求时宜用插入或冒泡排序。


若待排序的记录的关键字在一个明显有限范围内时,且空间允许是用桶排序。


当n较大时,关键字元素比较随机,对稳定性没要求宜用快速排序。


当n较大时,关键字元素可能出现本身是有序的,对稳定性有要求时,空间允许的情况下。


宜用归并排序。


当n较大时,关键字元素可能出现本身是有序的,对稳定性没有要求时宜用堆排序。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值