ホームページ  >  記事  >  Java  >  ヒルソートアルゴリズムの実装

ヒルソートアルゴリズムの実装

王林
王林転載
2020-08-17 16:31:002510ブラウズ

ヒルソートアルゴリズムの実装

ヒルソートは直接挿入ソートの改良版であり、挿入ソートの一種でもあります。改善点は、各走査にステップ サイズを設定し、直接挿入ソートを実行することです。走査の完了後、ステップ サイズが 1 以下になるまでステップ サイズが半分になります。

(推奨チュートリアル: Java 入門チュートリアル)

各移動はステップ距離移動するため、直接挿入ソートは毎回 1 ステップしか移動しないため、ヒルソートの方が直接挿入ソートよりも効率的です。

ヒルソートアルゴリズムの実装

(学習ビデオの推奨: java コース)

アルゴリズム実装:

  public static void shellSort(int[] array) {
        int step = array.length;
        while (true) {
            step /= 2;
            for (int i = 0; i < step; i++) {
                for (int j = i + step; j < array.length; j += step) {
                    int tmp = array[j];
                    int k = j;
                    while (k >=step && array[k - step] > tmp) {//将大于tmp的数往后移
                        array[k] = array[k - step];
                        k-=step;
                    }
                    array[k] = tmp;//插入
                }
            }
            if (step <= 1)
                return;
        }
    }

以上がヒルソートアルゴリズムの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。