1. 程式人生 > >希爾排序 shell

希爾排序 shell

-s 嵌套 情況 實現 round 循環嵌套 初始 個數 插入

希爾排序又叫縮小增量排序,是建立在插入排序上的威力加強版。

主要是利用了插入排序對逆序數越少的數組的排序,花費的時間就越少,的特性來進行優化;

↑簡單來說就是越整齊排序所花時間也就越少;

希爾排序中通過比較相距一定間隔的元素,並使這個間隔不斷減小,知道間隔為1,進行工作;

這也是縮小增量排序名稱的由來;

實現一般使用for循環嵌套,然後依次比較n和n+k的元素,其中k是間隔;

間隔k的初始值一般使用N/2,N為數組元素個數;

看似使用了幾個for嵌套,實際上花費的時間卻很少,希爾排序最壞的情況使用O(N3/2

);

希爾排序 shell