Javaでの挿入ソートはシンプルで効率的なソートアルゴリズムであり、一度に1つの要素で最終的なソートされた配列を作成します。これは通常、ユーザーが小さなデータセットを持っている場合に実装されます。次のトピックについて説明します。
挿入ソートとは何ですか?
Javaでの挿入ソートは効率的なソートアルゴリズムであり、一度に1つの要素で最終的なソート済み配列を作成します。入力データの要素は、反復ごとに削除されます。配列に存在する最大値と比較されてから、正しい位置に移動されます。この種の動作を理解するために、この例を見てみましょう。
挿入ソートのアルゴリズム
ソートされていない配列があるとしましょう [6、5、15、3、9]
幅優先探索アルゴリズムの擬似コード
最初のインデックス反復: 1番目のインデックスの値は5で、6未満です。配列は次のようになります。 [6、6、15、2、8] 。
要素のセットの先頭に到達すると、値を0番目のインデックスに配置します。配列は次のようになります。 [5、6、15、3、9]
2回目のインデックス反復 :2番目のインデックスの値は15で、6より大きくなります。配列は変更されません。
3回目のインデックス反復 :3番目のインデックスの値は3です。値は15未満であるため、配列は次のようになります。 [5、6、15、15、9]
値3も6未満であるため、配列は次のように変更されます。 [5、6、6、15、9]
3も5よりも小さいです。配列は再び次のように変更されます [5、5、6、15、9]
配列の先頭に達すると、3が0番目のインデックスに配置されます。これで、配列は次のように定義されます。 [3、5、6、15、9]
4番目のインデックスの反復: 4番目のインデックスの値は9です。同様のアルゴリズムに従って、最終的にソートされた配列は次のとおりです。 [3、5、6、9、15]
Javaでの挿入ソートのコード
//挿入ソートを実装するJavaプログラムpublicclass InsertionEx {/ *挿入ソートを使用して配列をソートする関数* / void sort(int a []){int n = a.length for(int i = 1 i= 0 && a [j]> key){a [j + 1] = a [j] j = j-1} a [j + 1] = key}} / *サイズnの配列を出力する関数* / static void displayArray(int a []){int n = a.length for(int i = 0 i 複雑さと境界のケース
時間計算量 :挿入ソートの時間計算量はO(n * 2)です。
境界ケース :挿入ソートにかかる最大時間は、要素が逆の順序でソートされたときです。要素がすでにソートされている場合、最小時間かかります
挿入ソートは、ソートされる要素の数が少ない場合にユーザーによって実装されます。また、指定された配列がほぼソートされている場合、つまり、数個の数値のみが誤って配置され、適切な位置にない場合にも使用できます。
これで、このJavaでの挿入ソートの記事は終わりです。 C 一体 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Java開発者になりたい学生および専門家向けに設計されています。このコースは、Javaプログラミングをすぐに開始できるように設計されており、HibernateやSpringなどのさまざまなJavaフレームワークに加えて、コアと高度なJavaの両方の概念についてトレーニングします。
質問がありますか?この「Javaでの挿入ソート」ブログのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。