排序算法筆記

希爾排序:
首先希爾排序是插入排序的一種改良版本,也是第一個時間複雜度突破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]
    }
}`

再看一下改良版的希爾排序

圖片.png

相關文章
相關標籤/搜索