各種排序算法什么時候有最好情況、最壞情況(尤其是快排)
- 直接插入排序:最壞情況需要比較O(n^2)次(n(n - 1)/2次)(有爭議)。
- 簡單選擇排序:無論是否最壞都需要O(n^2)次(n(n - 1)/2次)。
- 冒泡排序:需要比較O(n^2)次(n(n - 1)/2次),即序列逆序的情況。
- 堆排序:無論是否最壞比較O(nlog2n)次。
- 快速排序:最壞情況退化為冒泡排序,需要比較O(n^2)次(n(n - 1)/2次)。
- 二路歸並排序:比較和移動次數沒有好壞之分,都是O(n*log2n)。