七 基於比較的排序演算法總結

2021-10-18 16:35:05 字數 940 閱讀 6312

至此,總結一下已經研究過的排序演算法:

insertion sort,θ(n

2)\theta(n^2)

θ(n2

)merge sort, θ(n

logn

)\theta(nlogn)

θ(nlog

n)quicksort, θ(n

logn

)\theta(nlogn)

θ(nlog

n)heapsort,θ(n

logn

)\theta(nlogn)

θ(nlog

n)

從上面的發現中,可以提出這樣乙個猜想:

所有基於比較的排序演算法,演算法複雜度≥θ(

nlog

n)\ge\theta(nlogn)

≥θ(nlo

gn)。

數學證明的思路分兩步,1⃣️找到一種更加抽象的數學結構表達各種基於比較排序演算法;2⃣️研究這種抽象的數學結構的性質;3⃣️利用得到的性質說明結論。

這個決策樹和machine learning裡的決策樹本質上是乙個意思。

決定基於比較的排序演算法的複雜度是比較的次數,用decision tree就是某乙個路徑的高度h

hh,現在已經證明整個二叉樹的高度h≥ω

(nlo

gn)h\ge\omega(nlogn)

h≥ω(nl

ogn)

,那就說明基於比較的排序演算法的複雜度≥ω(

nlog

n)\ge\omega(nlogn)

≥ω(nlo

gn)。

七大基於比較的排序

就是使一串記錄,按照其中的某個關鍵字的大小,遞增或遞減排列起來的操作。通常意義上的排序,指的是原地排序 公升序 穩定性 兩個相等的資料,如果經過排序後,排序演算法能保證其相對位置不發生變化,則稱該演算法是具備穩定性的排序。例如 9 5 a 4 6 5 b 0,排序後為 4 5 a 5 b 6 9 1...

演算法 排序 非基於比較的排序

非基於比較的排序與樣本的資料狀況有很大的關係,由於這個限制使其在工程中並不常用。非基於比較的排序有桶排序,基數排序,計數排序。這三者都能做到排序的穩定性,時間複雜度為 o n 空間複雜度為 o n 假設存在一組資料,裡面的資料只有 0 60 使用非基於比較的排序。思路 此時可以使用計數排序,準備 6...

基於比較的內部排序總結

基於 比較 操作的內部排序效能大pk 我們首先總結一下 排序結構專題1 4 中的十種方法的效能 n個關鍵字的待排序列 排序方法 平均時間 最壞時間 輔助儲存空間 穩定性 直接插入排序 o n 2 o n 2 o 1 折半插入排序 o n 2 o n 2 o 1 希爾排序 o n logn o n l...