稳定性定义:同样值的个体之间,如果不因为排序而改变相对次序,就是这个排序是有稳定性的;否则就没有。
选择排序、冒泡排序、插入排序 O(N方) O(1) 选择排序是不具有稳定性的
归并排序 O(NlgN) O(N) 具备稳定性
快排 O(NlgN) O(lgN)
堆排 O(NlgN) O(1)
以上仅仅是基于比较的排序,这些算法是通用的。有时我们需要根据数据规模定制算法
桶排序思想下的排序:
1)桶排序思想下的排序都是不基于比较的排序
2)时间复杂度为O(N),额外空间负载度O(M)
3)应用范围有限,需要样本的数据状况满足桶的划分
计数排序:例如统计一个公司各个年龄的人数,先造一个长度为60的数组,遍历所有员工年龄,在对应位置+1即可
基数排序:例如排序一组有限数组,可构造先入先出的桶,按个位、十位、百位依次入桶出桶