【发布时间】:2019-11-28 16:23:30
【问题描述】:
就时间复杂度考虑而言,最快的排序算法是什么?
在常用的Sorring算法中,如冒泡排序、插入排序、归并排序、堆排序等最快。
【问题讨论】:
-
寻找
TimSort和SmoothSort。这些是不常见但快速的选择。
标签: algorithm data-structures array-algorithms
就时间复杂度考虑而言,最快的排序算法是什么?
在常用的Sorring算法中,如冒泡排序、插入排序、归并排序、堆排序等最快。
【问题讨论】:
TimSort 和SmoothSort。这些是不常见但快速的选择。
标签: algorithm data-structures array-algorithms
【讨论】:
算法 时间复杂度 最好 平均 最差
Selection Sort Ω(n^2) θ(n^2) O(n^2)
Bubble Sort Ω(n) θ(n^2) O(n^2)
Insertion Sort Ω(n) θ(n^2) O(n^2)
Heap Sort Ω(n log(n)) θ(n log(n)) O(n log(n))
Quick Sort Ω(n log(n)) θ(n log(n)) O(n^2)
Merge Sort Ω(n log(n)) θ(n log(n)) O(n log(n))
Bucket Sort Ω(n+k) θ(n+k) O(n^2)
Radix Sort Ω(nk) θ(nk) O(nk)
快速排序的时间复杂度在最佳情况下为 O(n log n),在平均情况下为 O(n log n),在最坏情况下为 O(n^2)。但由于它在大多数输入的平均情况下具有最佳性能,因此 Quicksort 通常被认为是“最快”的排序算法。
【讨论】: