排序方法
時間複雜度(平均)
時間複雜度(最壞)
時間複雜度(最好)
空間複雜度
穩定性
比較次數(最壞)
比較次數(最好)
氣泡排序
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.事後統計的方法 在演算法 程式 中新增加乙個計時器,讓演算法 程式 在電腦上先執行一次,可以知道演算法的...