目录
基础排序算法
高级排序算法
堆和堆排序
其他排序
总结
时间复杂度
稳定性
基础排序算法
冒泡排序
选择排序
插入排序
希尔排序
高级排序算法
归并排序
自顶向下(递归)、自底向上(迭代)
快速排序
对于有较多重复元素的数组,可使用
三路快排
堆和堆排序
堆和堆排序
其他排序
总结
时间复杂度
平方阶 (O(n2)) 排序:各类简单排序:直接插入、直接选择和冒泡排序。
线性对数阶 (O(nlog2n)) 排序:快速排序、堆排序和归并排序;
O(n1+§)) 排序:§ 是介于 0 和 1 之间的常数。 希尔排序;
线性阶 (O(n)) 排序:基数排序,此外还有桶、箱排序。
稳定性
稳定的排序算法:冒泡排序、插入排序、归并排序和基数排序。
不是稳定的排序算法:选择排序、快速排序、希尔排序、堆排序。