挿入ソートの基本的な操作は、ソートされた順序付けられたデータにデータを挿入し、それによって番号が 1 つ増加した新しい順序付けられたデータを取得することです。比較と交換の時間計算量は O(n^2) です。アルゴリズムは適応型です。データが基本的に順序付けられている場合、時間計算量は O(n) です。アルゴリズムは安定しており、オーバーヘッドが低くなっています。このアルゴリズムは、データが基本的に順序付けられている場合や、データの量が少ない場合に適しています。 挿入アルゴリズムは、ソートする配列を 2 つの部分に分割します。最初の部分には配列の最初の要素を除くすべての要素が含まれ、2 番目の部分にはこの 1 つの要素のみが含まれます。 *** 部分がソートされたら、ソートされた *** 部分の位置に *** 要素を挿入します。 アルゴリズムの説明 一般的に、挿入ソートは配列上でインプレースで実装されます。具体的なアルゴリズムは次のように説明されます。 1. 最初の要素から始めて、要素はソートされているとみなすことができます 2. 次の要素を取り出し、ソートされた要素の順序で後ろから前へスキャンします。 3. 要素(すでにソートされている)が新しい要素より大きい場合は、要素を次の位置に移動する 4. ソートされた要素が新しい要素より小さいか等しい位置が見つかるまで、手順3を繰り返します。 5. 新しい要素を次の位置に挿入する 6. 手順2を繰り返します 比較演算のコストが交換演算のコストよりも大きい場合は、バイナリ検索を使用して比較演算の数を減らすことができます。このアルゴリズムは、バイナリ検索ソートと呼ばれる挿入ソートのバリエーションと考えることができます。 コードの実装
データがすでに特定の順序になっている場合、挿入ソートの方が効率的です。しかし、データが不規則な場合は大量のデータを移動する必要があり、その効率はバブルソートや選択ソートと同じくらい悪くなります。 【編集者のおすすめ】
|
<<: Java ソートアルゴリズムの概要 (II): 選択ソート
教師あり学習とは何ですか?教師あり学習は機械学習のサブセットであり、機械学習モデルの入力データにラベ...
記事「バックプロパゲーションを使用した多層ニューラル ネットワークのトレーニングの原理」では、バック...
[[259329]] 2018年上半期現在、中国には922社の人工知能企業があり、そのうち97%は今...
マイクロソフトは現在、チャットボットを開発中との報道もある。将来的に実用化に成功すれば、デジタル技術...
[[206505]]人工知能は現在、熱く議論されている業界であり、ディープラーニングは最もホットな、...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
ニュースハイライト:中国企業の98%は、過去6か月間にAI技術導入の緊急性が高まったと回答した。戦略...
[[441080]]経済観察記者 鄭躍新12月16日、中国教育部元副部長で中国教育国際交流協会会長...
3D ポートレート合成は、常に AIGC の注目を浴びている分野です。 NeRF と 3D 対応 ...
今日では、周囲の世界を「学習」できることが人工知能アルゴリズムの基本要件となっています。 AI ロボ...