1. 程式人生 > 其它 >各種排序介紹(非程式設計向)

各種排序介紹(非程式設計向)

上課的一張圖上出現了幾個英文的排序名稱,就摘下來看看是什麼吧

梳排序(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)

類似堆排序思想,用了類資料結構的東西,複雜度比較優,陣列有序複雜度更優