各種排序方法的比較

2021-07-09 08:32:52 字數 869 閱讀 2123

簡單排序包括直接插入排序、氣泡排序、和簡單選擇排序。

排序方法的穩定性:假設ki=kj(1<=i<=n,1<=j<=n,i!=j),若在排序前的序列中ri領先於rj(即i

證明一種排序方法是穩定的,要從演算法本身的步驟中加以證明。證明排序方法是不穩定的,只需給出乙個反例說明。

1、簡單排序法一般只用於n比較小的情況(例如n<30)。當序列中的記錄「基本有序」時,直接插入排序是最佳的排序方法。如果記錄中的資料較多,則應採用移動次數較少的簡單選擇排序法。

2、快速排序、堆排序和歸併排序的平均時間複雜度均為o(nlog2 n),但實驗結果表明,就平均時間效能而言,快速排序是所有排序方法中最好的。遺憾的是,快速排序在最壞的情況下的時間效能為o(n^2)。堆排序和歸併排序的最壞時間複雜度仍為o(nlog2 n),當n比較大時,歸併排序的時間效能優於堆排序,但他所需的輔助空間最多。

3、可以將簡單排序法與效能比較好的排序方法結合使用。例如,在快速排序中,當劃分子區間的長度小於某值時,可以轉而呼叫直接插入排序法;或者先將待排序序列劃分成若干個序列,分別進行直接插入排序,然後再利用歸併排序法,將有序子串行合併成乙個完整的有序序列。

4、基數排序的時間複雜度可以寫成o(dn)。因此,它最適用於n值很大而關鍵字的位數s較小的序列。當d遠小於n時,其時間複雜度接近於o(n)。

5、從排序的穩定性上看,在所有簡單排序法中,簡單選擇排序是不穩定的,其他各種簡單排序法都是穩定的。然而,在那些時間效能較好的排序方法中,希爾排序,快速排序、堆排序都是不穩定的,只有歸併排序、基數排序是穩定的。

各種排序方法的綜合比較

各種排序方法的綜合比較 結論 排序方法 平均時間 最壞時間 輔助儲存 簡單排序 o n2 o n2 o 1 快速排序 o nlogn o n2 o logn 堆排序 o nlogn o nlogn o 1 歸併排序 o nlogn o nlogn o n 基數排序 o d n rd o d n rd...

各種排序方法的綜合比較

裡面有資料結構的全部知識點,講得很好 裡面有很多很不錯的問題,並且附有答案 各種排序方法的綜合比較 結論 排序方法 平均時間 最壞時間 輔助儲存 簡單排序 o n2 o n2 o 1 快速排序 o nlogn o n2 o logn 堆排序 o nlogn o nlogn o 1 歸併排序 o nl...

各種排序方法的綜合比較

各種排序方法的綜合比較 結論 排序方法 平均時間 最壞時間 輔助儲存 簡單排序 o n2 o n2 o 1 快速排序 o nlogn o n2 o logn 堆排序 o nlogn o nlogn o 1 歸併排序 o nlogn o nlogn o n 基數排序 o d n rd o d n rd...