各種排序方法的綜合比較

2021-04-20 22:51:58 字數 1244 閱讀 9059

(裡面有資料結構的全部知識點,講得很好)

(裡面有很多很不錯的問題,並且附有答案)

各種排序方法的綜合比較

結論:排序方法 平均時間 最壞時間 輔助儲存

簡單排序 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(rd)

另外:直接插入排序、氣泡排序為簡單排序,希爾排序(不穩定)

一、時間效能 

按平均的時間效能來分,有三類排序方法:

時間複雜度為o(nlogn)的方法有:快速排序、堆排序和歸併排序,其中以快速排序為最

好;時間複雜度為o(n2)的有:直接插入排序、起泡排序和簡單選擇排序,其中以直接插入為

最好,特別是對那些對關鍵字近似有序的記錄序列尤為如此;

時間複雜度為o(n)的排序方法只有,基數排序。

當待排記錄序列按關鍵字順序有序時,直接插入排序和起泡排序能達到o(n)的時間複雜

度;而對於快速排序而言,這是最不好的情況,此時的時間效能蛻化為o(n2),因此是應

該盡量避免的情況。

簡單選擇排序、堆排序和歸併排序的時間效能不隨記錄序列中關鍵字的分布而改變。

二、空間效能

指的是排序過程中所需的輔助空間大小。

1. 所有的簡單排序方法(包括:直接插入、起泡和簡單選擇)和堆排序的空間複雜度為o

(1);

2. 快速排序為o(logn  ),為棧所需的輔助空間;

3. 歸併排序所需輔助空間最多,其空間複雜度為o(n );

4.鏈式基數排序需附設佇列首尾指標,則空間複雜度為o(rd  )。

三、排序方法的穩定性能

1. 穩定的排序方法指的是,對於兩個關鍵字相等的記錄,它們在序列中的相對位置,在

排序之前和經過排序之後,沒有改變。

2. 當對多關鍵字的記錄序列進行lsd方法排序時,必須採用穩定的排序方法。

3. 對於不穩定的排序方法,只要能舉出乙個例項說明即可。

4. 快速排序和堆排序是不穩定的排序方法

各種排序方法的綜合比較

各種排序方法的綜合比較 結論 排序方法 平均時間 最壞時間 輔助儲存 簡單排序 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 nlogn o nlogn o n 基數排序 o d n rd o d n rd...

各種排序方法的比較

簡單排序包括直接插入排序 氣泡排序 和簡單選擇排序。排序方法的穩定性 假設ki kj 1 i n,1 j n,i j 若在排序前的序列中ri領先於rj 即i 證明一種排序方法是穩定的,要從演算法本身的步驟中加以證明。證明排序方法是不穩定的,只需給出乙個反例說明。1 簡單排序法一般只用於n比較小的情況...