Javaバブルソート分析:シンプルでわかりやすいバージョン

王林
リリース: 2024-01-05 10:19:12
オリジナル
704 人が閲覧しました

Javaバブルソート分析:シンプルでわかりやすいバージョン

簡潔でわかりやすい Java バブル ソート アルゴリズム分析

コンピュータ サイエンスにおいて、バブル ソートは単純ですが非効率なソート アルゴリズムです。並べ替える要素を繰り返し反復処理し、隣接する 2 つの要素を順番に比較し、順序が間違っている場合は入れ替えます。このプロセスは、シーケンス全体がソートされるまで続きます。バブルソートアルゴリズムについては、以下で詳しく分析します。

バブル ソート アルゴリズムの原理は、隣接する要素を継続的に比較および交換することにより、最大 (または最小) の要素をシーケンスの最後 (または先頭) までバブルし、残りの要素に対して演算を実行することです。シーケンス全体が整うまで同じ操作を行います。

アルゴリズムの手順は次のとおりです。

  1. シーケンスの最初の要素から開始して、この要素のサイズを次の要素と比較します。
  2. 順番が間違っている場合は入れ替えてください。
  3. 次に隣接する要素の比較を続け、手順 1 と 2 を繰り返します。
  4. トラバーサルが 1 ラウンド完了するまで、シーケンス全体の完全な比較と交換が実行されます。
  5. 最初のラウンドの比較と交換を再開しますが、今回走査される範囲にはソートされた要素は含まれません。
  6. 全体の順序が整うまで、手順 1 ~ 5 を繰り返します。

以下は、単純なバブル ソート アルゴリズムのサンプル コードです。

public class BubbleSort {
    public static void bubbleSort(int[] arr) {
        boolean swapped;
        for (int i = 0; i < arr.length - 1; i++) {
            swapped = false;
            for (int j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                    swapped = true;
                }
            }
            if (!swapped) {
                break;
            }
        }
    }
    
    public static void main(String[] args) {
        int[] arr = {5, 3, 8, 2, 1, 4};
        bubbleSort(arr);
        for (int num : arr) {
            System.out.print(num + " ");
        }
        System.out.println();
    }
}
ログイン後にコピー

上記のコードでは、バブル ソート Bubble を実装する bubbleSort メソッドを定義します。選別。 swappedこの変数は、スワップが発生したかどうかを記録するために使用されます。スワップが発生していない場合は、ソートが完了したことを意味し、ソートを早期に終了できます。 main メソッドでは、整数配列を定義してソートし、ループを通じてソート結果を出力します。

上記は、バブル ソート アルゴリズムと対応する Java サンプル コードの簡潔でわかりやすい分析です。バブル ソートは非常に時間のかかる処理ですが、小規模なデータ セットを並べ替えるのは非常に簡単で直感的です。

以上がJavaバブルソート分析:シンプルでわかりやすいバージョンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!