各类排序的时间复杂度以及稳定性
插入排序:
-
直接插入排序:O(N^2) 稳定
-
希尔排序:O(N^1.2) 不稳定
选择排序:
-
选择排序:O(N^2) 不稳定
-
堆排序:O(NlogN) 稳定
交换排序:
-
冒泡排序:O(N^2) 稳定
-
快速排序:O(NlogN) 不稳定
归并排序:
-
归并排序:O(logN) 稳定
桶排序:
-
基数排序:O(N*M),N个数字,M个位数 稳定
-
计数排序:O(N + K),对于N个数字,范围为K进行放到里面 稳定
稳定性:对于数据元素相同的关键字,排序之后相对位置是否改变。没有改变就是稳定性的,否则就是不稳定性的