各种排序的复杂度

排序时间复杂度:
最好 平均 最坏
插入排序 O(n)(完全有序) O(n^2) O(n^2)(完全逆序)
希尔排序 O(n) O(n^1.3-1.4) O(n^2)
直接选择排序 O(n^2)数据不敏感
堆排序 O(nlog(n))数据不敏感
冒泡排序 O(n) O(n^2) O(n^2)
快速排序 O(n
log(n)) O(nlog(n)) O(n^2)
归并排序 O(n
log(n))数据不敏感
空间复杂度:
插入排序:O(1)
希尔排序:O(1)
直接选择排序:O(1)
堆排序:O(1)
冒泡排序:O(1)
快速排序:最好:O(log(n))
最坏:O(n)
归并排序:O(n)
稳定性:
插入排序:稳定
希尔排序:不稳定(相等的两个数被分到不同的组里,无法保证)
直接选择排序:不稳定
堆排序:不稳定
冒泡排序:稳定
快速排序:不稳定
冒泡排序:稳定
归并排序:稳定

猜你喜欢

转载自blog.51cto.com/14232274/2439734