比较排序算法的时间复杂度排列
- 冒泡排序: θ(n^2) 平均时间复杂度
- 选择排序: θ(n^2) 平均时间复杂度,但是数组元素的交换次数要比冒泡排序少
- 插入排序: θ(n^2) 最坏时间复杂度,但是在数组基本有序的情况下,时间复杂度为 θ(n)
- 归并排序: θ(nlogn) 平均时间复杂度,但是需要额外的空间复杂度
- 快速排序: θ(nlogn) 平均时间复杂度
- 计数排序: θ(n+k) 期望时间复杂度,其中 k 为数组中的最大值,需要额外的空间复杂度
- 基数排序: θ(n*k) 期望时间复杂度,其中 k 为数组中的最大值的位数,需要额外的空间复杂度
- 桶排序: Ω(n) 期望时间复杂度,但是需要额外的空间复杂度,最坏时间复杂度为 O(n^2)
- 堆排序: O(nlogn) 最坏时间复杂度