排序算法
1. 插入类排序
1.1 直接插入排序
1 | class Solution { |
时间复杂度
- 最坏情况:$O(n^2)$
- 最好情况:$O(n)$
- 平均时间复杂度:$O(n^2)$
2. 交换类排序
2.1 冒泡排序
1 | class Solution { |
时间复杂度
- 最坏情况:$O(n^2)$
- 最好情况:$O(n)$
- 平均时间复杂度:$O(n^2)$
2.2 快速排序
1 | class Solution { |
时间复杂度
- 最坏情况:$O(n^2)$
- 最好情况:$O(nlog_2n)$
- 平均时间复杂度:$O(nlog_2n)$
待排序列越接近无序,算法效率越高。
3. 选择类排序
3.1 简单选择排序
1 | class Solution { |
时间复杂度:$O(n^2)$