- 直接选择排序
时间复杂度:O(n2)
空间复杂度:O(1)
稳定性:不稳定
- 插入排序
时间复杂度:O(n2)
空间复杂度:O(1)
稳定性:稳定
- 折半插入排序
折半插入排序是对插入排序算法的一种改进,由于排序算法过程中,就是不断的依次将元素插入前面已排好序的序列中。由于前半部分为已排好序的数列,这样我们不用按顺序依次寻找插入点,可以采用折半查找的方法来加快寻找插入点的速度
时间复杂度:O(n2)
空间复杂度:O(1)
稳定性:稳定
- 冒泡排序
时间复杂度:O(n2)
空间复杂度:O(1)
稳定性:稳定
- 双向冒泡
传统冒泡气泡排序的双向进行,先让气泡排序由左向右进行,再来让气泡排序由右往左进行,如此完成一次排序的动作
时间复杂度:O(n2)
空间复杂度:O(1)
稳定性:稳定
- 希尔排序
时间复杂度:O(nlogn)
空间复杂度:O(1)
稳定性:不稳定
- 归并排序
时间复杂度:O(nlogn)
空间复杂度:O(n)
稳定性:稳定
- 快速排序
时间复杂度:O(nlogn)
空间复杂度:O(1)
稳定性:不稳定
- 堆排序
时间复杂度:O(nlogn)
空间复杂度:O(1)
稳定性:不稳定