稳定性的比较
插入排序,冒泡排序,二叉树排序,二路并归排序以及其他线性排序是稳定的。
选择排序,希尔排序,快速排序,堆排序是不稳定的。
有跨度的交换都会导致不稳定。
时间复杂性比较
插入排序,冒泡排序,选择排序的时间复杂度为O(n2)
快速排序,堆排序,归并排序的时间复杂度为O(nlog2n)
桶排序的时间复杂度为O(n)
分析:最好情况下,插入排序和冒泡的时间复杂度为O(n)
最坏情况,快速排序排序时间复杂度O(n2)
其他情况平均时间复杂影响不大。
最好情况,插入排序和冒泡
平均 快速
最坏 堆排序,归并排序
辅助空间
桶排序,二路并归排序为O(n)
快速排序 O(log2n) 最坏情况 O(n)
其他算法 O(1)
其他
插入和冒泡的速度较慢,但是,待排序的对象,整体和局部有序时,速度比快速好。