1、若你需要排序的是基本資料型別,
則選擇快速排序。
若你需要排序的是引用資料型別,則選擇歸併排序。(基於穩定性考慮)
可以去參考一下排序穩定性的概念,基本資料型別相同值,誰前誰後無意義
因為基本資料型別之間無差異,
不需要考慮排序演算法穩定性,
而歸併排序則可以實現演算法的穩定性。
2、當你需要排序的樣本數量小於60,直接選擇插入排序,
雖然插入排序的時間複雜度為o
(n²),我們是忽略常數項得出來的o
(n²),
但在基數60以內,插入排序的時間複雜度為o
(n²)的劣勢體現不出來,
反而插入排序常數項很低,導致在小樣本情況下,插入排序極快。
如果一開始陣列容量很大,但可以分治處理,
分治後如果陣列容量(l>r -
60)小於60,
可以直接選擇插排。當大樣本下考慮情況1。
排序演算法(上)
氣泡排序 操作相鄰的兩個元素進行比較 arr 15,23,6,3,8,3,32,88,23,4 function mysort arr if static break echo p return arr arr mysort arr var dump arr 插入排序 分開為兩個區間,已分區間和未分...
Python實現排序演算法(上)
usr bin env python coding utf 8 用python實現了 氣泡排序,選擇排序,插入排序,快速排序,歸併排序 author wukai15937 gmail.com datetime 2018 11 4 下午15 19 from future import absolute...
排序演算法小全《上》
從最簡單的排序開始,前人們一直在這不斷追尋著這個看似簡單的問題的最優解。筆者也將自己對於這些不同排序演算法的認識,見解記錄下來。目前記錄了10種排序方法。目錄 二,選擇類 小結 以上是本篇內容。三 交換類 1.直接交換排序 2.快速排序 四 特殊範圍類 1.桶排序 2.計數排序 3.基排序 4.歸併...