常用排序演算法對比

2022-06-19 02:12:11 字數 981 閱讀 5424

排序方法

時間複雜度(平均)

時間複雜度(最壞)

時間複雜度(最好)

空間複雜度

穩定性

比較次數(最壞)

比較次數(最好)

氣泡排序

o(n2)

o(n2)

o(n)

o(1)

穩定n(n - 1)/2

n-1選擇排序

o(n2)

o(n2)

o(n2)

o(1)

不穩定n(n - 1)/2

插入排序

o(n2)

o(n2)

o(n)

o(1)

穩定n(n - 1)/2

n-1希爾排序

o(n1.3)

o(n1.5)

o(n)

o(1)

不穩定快速排序

o(nlog2n)

o(n2)

o(nlog2n)

o(nlog2n)

不穩定n(n - 1)/2

歸併排序

o(nlog2n)

o(nlog2n)

o(nlog2n)

o(n)

穩定2n-1

堆排序o(nlog2n)

o(nlog2n)

o(nlog2n)

o(1)

不穩定基數排序

o(n*k)

o(n*k)

o(n*k)

o(n*k)

穩定二分法

o(log2n)

順序查詢

o(n)

尋找最大項

o(n-1) 

排序演算法對比

2019 september 07 排序演算法對比 排序演算法 平均時間複雜度 最好情況 最壞情況 空間複雜度 原址排序 比較排序 穩定插入排序 theta left n right theta left n right theta left n right mathbf left 1 right ...

排序演算法對比

1 快速排序 quicksort 快速排序是乙個就地排序,分而治之,大規模遞迴的演算法。從本質上來說,它是歸併排序的就地版本。快速排序可以由下面四步組成。1 如果不多於1個資料,直接返回。2 一般選擇序列最左邊的值作為支點資料。3 將序列分成2部分,一部分都大於支點資料,另外一部分都小於支點資料。4...

常用排序演算法的總結和對比

演算法是滿足輸入,輸出,確定性,有限性,正確性 可行性 等性質的指令序列 演算法是用來設計並實現一種用計算機來解決問題的方法 3.1.1.度量乙個程式 演算法 執行時間的兩種方法 3.1.1.1.事後統計的方法 在演算法 程式 中新增加乙個計時器,讓演算法 程式 在電腦上先執行一次,可以知道演算法的...