排序
===
目录
八大排序
1.快速
效率较高的算法
参考代码
2.冒泡
- 稳定:
false
- 时间复杂度:
O(1)
O(n^2)
不断的把最大的那个元素移动到末尾或者把最小的元素移动到最前面
链接中的冒泡排序是最基本的排序,还有很大的优化空间,比如增加一个新数组保存之前的触发交换的情况,跳过之前的有序的部分,但是用来理解冒泡排序的思想是足够了
3.归并
核心思想 : 分治
归并就是在递归的过程中将每一个数据分别处理,然后再合并
4.插入
稳定: true
时间复杂度: O(n^2)
5.选择
- 稳定:
false
- 时间复杂度:
O(n)
O(n^2)
效率一般,但是实现逻辑简单
6.希尔
7.桶
8.堆
其他排序
timsort
introsort
===
名字 | 稳定 | 平均时间复杂度 | 最佳时间复杂度 | 最差时间复杂度 | 空间复杂度 |
---|---|---|---|---|---|
冒泡 | true |