希爾排序: 首先希爾排序是插入排序的一種改良版本,也是第一個時間複雜度突破O的n次方的算法,插入排序的每個元素都要從後往前和前面的每個元素進行比較。時間複雜度比較高。 希爾排序作了改良,就是每次都把數組分紅若干個小組,這麼作的好處有兩個,一個是數組分組大的時候插入的次數少,分組間隔小的時候插入的次數也少,從而大大下降時間複雜度。 首先看一下插入排序實現的算法代碼: `for(int i=1;i<a.length;i++){ for(int j =i;j>0 &&arr[j]<arr[j-1];j- -){ swap[arr,j,j-1] } }` 再看一下改良版的希爾排序