希爾排序詳細解說

2021-10-19 02:54:42 字數 719 閱讀 4762

了解了插入排序後,希爾排序就可以迎刃而解了

可以將整個陣列分為gap組,這裡的gap=array.length/2,然後進行插入排序,再將gap/2,再次進行插入排序,直到gap=1的時候,就可以得到最終的已排序陣列

}}1.資料量少的時候,速度快

2.資料接近有序的時候,速度快

時間複雜度:

最好:o(n)

平均:o(n^1.3)

最壞:o(n^2)

空間複雜度:

o(1)

穩定性:

不穩定排序

選擇排序詳細解說

選擇排序是每一次從無序區間選出最大 或最小 的乙個元素,存放在無序區間的bound位置,直到全部待排序的資料元 素排完 本文章中以公升序為例,讓已排序的序列中的最後乙個元素為bound,讓cur初始值為bound 1 就是未排序的第乙個元素 然後和bound位置的值進行比較,如果bound位置的元素...

詳細解說 STL 排序 Sort

從效率上看,以下幾種sort演算法的是乙個排序,效率由高到低 耗時由小變大 partion stable partition nth element partial sort sort stable sort 若需對vector,string,deque,或 array容器進行全排序,你可選擇sor...

歸併排序詳細解說

歸併排序 是建立在歸併操作上的一種有效的排序演算法,該演算法是採用分治法的乙個非常典型的應用。將已有序的子串行合併,得到完全有序的序列 即先使每個子串行有序,再使 子串行段間有序。1 遞迴方法 有兩個重要的特點,可以適用於外部排序 資料在磁碟上 也可以適用於鍊錶排序 希爾,堆排序,快速排序依賴隨機訪...