各種排序介紹(非程式設計向)
阿新 • • 發佈:2021-11-03
上課的一張圖上出現了幾個英文的排序名稱,就摘下來看看是什麼吧
梳排序(Comb sort)
氣泡排序,初始步長為n,按一定比率減小步長
注:步長較小時可以改為希爾排序提高效率
堆排序 (Heapsort)
用堆優化選擇排序
原地歸併排序(Inplace Merge sort)
歸併排序,只用原陣列,壞處是複雜度不穩定,可能會退化
圖書館排序(Library sort)
插入排序優化,元素之間留一些空隙
歸併排序(Merge Sort)
分治的進行排序,然後合併兩個有序陣列
可以求逆序對數量
歸併排序(非遞迴)(Non-recursive Merge Sort)
正常的歸併排序,自底向上歸併,不需要遞迴
快速排序(Quick Sort)
對隨機資料效果較好,每次隨機一個位置的數,把比他小的放在左邊,比他大的放在右邊
可以O(n)求nth-element
希爾排序(Shell Sort)
定步長從大到小的插入排序
慢速排序(Slow Sort)
複雜度不是多項式,真的是慢速
平滑排序(Smooth Sort)
類似堆排序思想,用了類資料結構的東西,複雜度比較優,陣列有序複雜度更優