shell 排序

shell排序算法思想

shell排序其實(shí)是插入排序的升級(jí)版,我們可以把數(shù)組分成h組,對(duì)每組 進(jìn)行排序,然后不斷的縮短h,當(dāng)h縮短為1時(shí)就退化成了插入排序。

shell排序算法實(shí)現(xiàn)

 public static void main(String[] args) {
        int[] arr = {-2, 1, 33, 4, 5, 0, 0, -1, 45, 908, 3};
        int[] sortList = shellSort(arr);
        for (int i : sortList) {
            System.out.print(i + "  ");
        }

    }

    /**
     * shell  sort
     *
     * @param arr
     * @return
     */
    private static int[] shellSort(int[] arr) {
        if (arr.length == 0) return null;
        // 計(jì)算出步長(zhǎng)
        int h = 1;
        int N = arr.length;
        while (h < N / 3) h = (h * 3 + 1);
        //控制步長(zhǎng)
        while (h >= 1) {
            //插入排序
            for (int i = h; i < N; i++) {
                for (int j = i; j >= h && arr[j] < arr[j - h]; j -= h) {
                    int temp = arr[j - h];
                    arr[j - h] = arr[j];
                    arr[j] = temp;
                }
            }
            h = h / 3;
        }
        return arr;
    }

算法復(fù)雜度

1.算法的最壞時(shí)間復(fù)雜度為O(n^2)
2.算法的最好時(shí)間復(fù)雜度為O(n)
3.算法的空間復(fù)雜度為O(n)

算法穩(wěn)定性

1 shell排序是不穩(wěn)定的

想看更多完整版請(qǐng)點(diǎn)擊:shell排序

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這次直入主題,我今天要復(fù)習(xí)的是插入排序!插入排序分為“直接插入”和“Shell排序”,Shell排序就是希爾排序,...
    AceCream佳閱讀 1,555評(píng)論 0 1
  • 排序的基本概念 在計(jì)算機(jī)程序開發(fā)過程中,經(jīng)常需要一組數(shù)據(jù)元素(或記錄)按某個(gè)關(guān)鍵字進(jìn)行排序,排序完成的序列可用于快...
    Jack921閱讀 1,571評(píng)論 1 4
  • 最美好的事莫過于天黑躺進(jìn)暖和的被窩,舒服的讓人忘記白天的疲憊。 最期盼的事莫過于我不在,你過的還好!
    千浮生閱讀 207評(píng)論 0 0
  • 作者:彭星華 時(shí)間:2017-10-11 “阿姨,這菜都是你自己種的吧!” “對(duì)??!你看我的褲腿上還有泥呢!剛剛?cè)?..
    d5453aa66e9b閱讀 460評(píng)論 0 3
  • AppUpdate ????前往1.x文檔 你可以通過它來升級(jí)你的App。 簡(jiǎn)介 小巧便捷 , 使用方便 自帶強(qiáng)制/非...
    吃飯叫醒我閱讀 971評(píng)論 0 0

友情鏈接更多精彩內(nèi)容