不斷選擇剩餘元素的最小者算法
$O(N^2)$數組
將後續元素插入到已經有序的元素適當的位置優化
$O(N^2)$code
每次對N有序子數組進行 插入排序
,而後減小N,重複對有序子數組進行 插入排序
,直到N爲1排序
對於中等數量級,一般只慢高級排序一點,實現簡單,適合嵌入式開發隊列
分治策略:先排序左半部分,再排序右半部分,最後合併,合併須要使用額外N控件的中間數組ip
$O(NlogN)$開發
分治策略:將數組分爲三部分,比元素v小的元素,v元素,比v大的元素,能夠理解這是一種入座算法,經過不斷讓元素入座(同時保證左子樹都小於右子樹),實現總體數組有序。get
注意須要事先Shuffle,否則最多須要 $N^2/2$ 比較it
優化:熵最優(大量重複元素狀況),小數組使用插入排序,三取樣(切分數儘可能爲中位數)
適用於流式輸入,插入經過上浮,刪除經過下沉來實現有序
堆排序,先下沉後上浮