工程上的排序演算法

2021-10-17 14:31:12 字數 491 閱讀 8637

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.歸併...