您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页常见排序算法的时间复杂度

常见排序算法的时间复杂度

来源:筏尚旅游网
排序法平均时间最差情形稳定度额外空间备注
冒泡O(O(稳定O(1)n小时较好
交换O(O(不稳定O(1)n小时较好
选择O(O(不稳定O(1)n小时较好
插入O(O(稳定O(1)大部分已排序时较好
基数O()O(​​​​​​​)稳定O(n)

B是真数(0-9),

R是基数(个十百)

ShellO(nlogn)O() 1<s<2不稳定O(1)s是所选分组
快速O(nlogn)O(​​​​​​​)不稳定O(nlogn)n大时较好
归并O(nlogn)O(nlogn)稳定O(1)n大时较好
O(nlogn)O(nlogn)不稳定O(1)n大时较好

 

常用排序算法总结和对比
排序算法平均时间复杂度最好情况最坏情况空间复杂度排序方式稳定性
冒泡排序O()O(n)O()O(1)In-place稳定
选择排序O()O()O()O(1)In-place不稳定
插入排序O()O(n)O()O(1)In-place稳定
希尔排序O(n log n)O(n  n)O(n  n)O(1)In-place不稳定
归并排序O(n log n)O(n log n)O(n log n)O(n)Out-place稳定
快速排序O(n log n)O(n log n)O()O(log n)In-place不稳定
堆排序O(n log n)O(n log n)O(n log n)O(1)In-place不稳定
计数排序O(n + k)O(n + k)O(n + k)O(k)Out-place稳定
桶排序O(n + k)O(n + k)O()O(n + k)Out-place稳定
基数排序O(n  k)O(n  k)O(n  k)O(n + k)Out-place稳定

相关术语解释:

1)稳定:如果a原本在b前面,而a = b,排序之后a仍然在b的前面

2)不稳定:如果a原本在b的前面,而a = b,排序之后a可能会出现在b的后面

3)内排序:所有排序操作都在内存中完成

4)外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行

5)时间复杂度:一个算法执行所耗费的时间

6)空间复杂度:运行完一个程序所需内存的大小

7)n:数据规模

8)k:桶的个数

9)In-place:不占用额外的内存

10)Out-place:占用额外的内存

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务