各種排序演算法時間複雜度及空間複雜度

2021-07-16 07:13:42 字數 858 閱讀 7996

平均o(n

2) ,最壞o(n

2) ,最好o(n

),輔助記憶體o(1),穩定排序

最好情況是加了改進方法的最好:即冒泡的過程中檢查是否發生了交換,如果沒有發生交換,說明都排好序了,就break

插入:平均o(n

2) ,最壞o(n

2) ,最好o(n) ,輔助記憶體o(1),穩定排序

直接選擇排序:

平均o(n

2) ,最壞o(n

2) ,最好

o(n2),輔助記憶體

o(1),不穩定排序

快速排序:

平均o(nlogn

) ,最壞o(n

2) ,最好

o(nlogn

),輔助記憶體

o(logn

),不穩定排序

最壞的情況是每次選擇了最大或者最小值作為比較值。最壞情況下輔助記憶體也為o(n)

歸併排序:

平均o(nlogn

) ,最壞o(

nlogn

) ,最好

o(nlogn

),輔助記憶體

o(n),穩定排序

穩定的保證取決於比較規則為:前一班的數<=後一半的數,則先歸併前一半的數

堆排序:    

平均o(nlogn

) ,最壞o(

nlogn

) ,最好

o(nlogn

),輔助記憶體

o(1),不穩定排序

都用交換的情況下,快速排序輔存是

o(logn

),而堆排序輔存是o(1)的原因是,快速排序是logn層遞迴,而堆排序是在本層進行交換。

稍後附各種排序演算法的**及思路解釋

各種排序演算法比較 時間複雜度,空間複雜度

n 2表示n的平方,選擇排序有時叫做直接選擇排序或簡單選擇排序 排序方法平均時間最好時間最壞時間 桶排序 不穩定 o n o n o n 基數排序 穩定 o n o n o n 歸併排序 穩定 o nlogn o nlogn o nlogn 快速排序 不穩定 o nlogn o nlogn o n ...

各種常用排序演算法的時間複雜度和空間複雜度

一 常用排序演算法的時間複雜度和空間複雜度 二 特點 1.歸併排序 1 n大時好,歸併比較占用記憶體,記憶體隨n的增大而增大,但卻是效率高且穩定的排序演算法。2 歸併排序每次遞迴都要用到乙個輔助表,長度與待排序的表長度相同,雖然遞迴次數是o log2n 但每次遞迴都會釋放掉所佔的輔助空間 3 雖然插...

各種排序演算法時間複雜度

各種排序演算法比較 各種常用排序演算法 類別排序方法 時間複雜度 空間複雜度 穩定性複雜性 特點最好 平均最壞 輔助儲存 簡單插入 排序直接插入 o n o n2 o n2 o 1 穩定簡單 希爾排序 o n o n1.3 o n2 o 1 不穩定複雜 選擇排序 直接選擇 o n o n2 o n2...