1. 归并排序
时间复杂度:O(n log n)
空间复杂度:O(n)
稳定排序算法,可以保相等元素的原始顺序
2. 快速排序
时间复杂度:平均 O(n log n),最坏 O(n^2)
空间复杂度:O(log n) (使用递归) / O(n) (使用栈)
不稳定排序算法
3. 堆排序
时间复杂度:O(n log n)
空间复杂度:O(1)
不稳定排序算法
4. 冒泡排序
时间复杂度:O(n^2)
空间复杂度:O(1)
稳定排序算法
5. 选择排序
时间复杂度:O(n^2)
空间复杂度:O(1)
不稳定排序算法
6. 插入排序
时间复杂度:平均 O(n^2),最好 O(n)
空间复杂度:O(1)
稳定排序算法
7. 桶排序
时间复杂度:O(n + k)
空间复杂度:O(n + k)
要求输入元素在特定范围内
8. 基数排序
时间复杂度:O(n⋅k)
空间复杂度:O(n+k)
要求输入元素是数字
9. 计数排序
时间复杂度:O(n + k)
空间复杂度:O(n + k)
要求输入元素在特定范围内且是离散的
10. 桶桶排序
时间复杂度:O(n^2)
空间复杂度:O(n)
适用于大数据集和稀疏数据
上一篇:十大排序算法及其比较
下一篇:十大最厉的排序算法