【Mindustry】七種實(shí)用排序算法代碼
該專欄共包含以下算法:
Tim Sort
Shell Sort Sedgewick Const
Quick Sort Random Pivot And Insertion Sort
Quick Sort LR Random Pivot And Insertion Sort
Comb Sort
Merge Sort
Max Heap Sort (Trifurcation)
Tim Sort
Shell Sort Sedgewick Const
Quick Sort Random Pivot And Insertion Sort
Quick Sort LR Random Pivot And Insertion Sort
Comb Sort
Merge Sort
Max Heap Sort (Trifurcation)
注1:此 TimSort 的實(shí)現(xiàn)并未對(duì)其歸并函數(shù)添加 gallop mode。
gallop mode: 歸并兩個(gè)子序列時(shí),如果連續(xù)取一子序列值次數(shù)超過閾值,將會(huì)進(jìn)入gallop mode。該模式使用指數(shù)搜索到另一子序列阻塞值所在區(qū)間并在該區(qū)間使用二分查找到該值插入位置,再一次性 插入/跳過 該位置及其之前的值并將阻塞值 插入/跳過。當(dāng)條件不滿足時(shí)將退出該模式回到正常歸并,具體詳見其它語言timsort實(shí)現(xiàn)源碼。
注2:當(dāng)switch1被關(guān)閉時(shí)開始排序,排序完將switch1彈起。被排序目標(biāo)為bank1。排序元素范圍為 [0, cell1#0)。算法可能使用cell2或bank2做臨時(shí)空間。