ホームページ > Java > &#&はじめる > ヒルソートアルゴリズムの実装

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

王林
リリース: 2020-08-17 16:41:54
転載
2537 人が閲覧しました

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

ヒルソートは直接挿入ソートの改良版であり、挿入ソートの一種でもあります。改善点は、各走査にステップ サイズを設定し、直接挿入ソートを実行することです。走査の完了後、ステップ サイズが 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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート