挿入ソートの基本的な操作は、ソートされた順序付けられたデータにデータを挿入し、それによって番号が 1 つ増加した新しい順序付けられたデータを取得することです。比較と交換の時間計算量は O(n^2) です。アルゴリズムは適応型です。データが基本的に順序付けられている場合、時間計算量は O(n) です。アルゴリズムは安定しており、オーバーヘッドが低くなっています。このアルゴリズムは、データが基本的に順序付けられている場合や、データの量が少ない場合に適しています。 挿入アルゴリズムは、ソートする配列を 2 つの部分に分割します。最初の部分には配列の最初の要素を除くすべての要素が含まれ、2 番目の部分にはこの 1 つの要素のみが含まれます。 *** 部分がソートされたら、ソートされた *** 部分の位置に *** 要素を挿入します。 アルゴリズムの説明 一般的に、挿入ソートは配列上でインプレースで実装されます。具体的なアルゴリズムは次のように説明されます。 1. 最初の要素から始めて、要素はソートされているとみなすことができます 2. 次の要素を取り出し、ソートされた要素の順序で後ろから前へスキャンします。 3. 要素(すでにソートされている)が新しい要素より大きい場合は、要素を次の位置に移動する 4. ソートされた要素が新しい要素より小さいか等しい位置が見つかるまで、手順3を繰り返します。 5. 新しい要素を次の位置に挿入する 6. 手順2を繰り返します 比較演算のコストが交換演算のコストよりも大きい場合は、バイナリ検索を使用して比較演算の数を減らすことができます。このアルゴリズムは、バイナリ検索ソートと呼ばれる挿入ソートのバリエーションと考えることができます。 コードの実装
データがすでに特定の順序になっている場合、挿入ソートの方が効率的です。しかし、データが不規則な場合は大量のデータを移動する必要があり、その効率はバブルソートや選択ソートと同じくらい悪くなります。 【編集者のおすすめ】
|
<<: Java ソートアルゴリズムの概要 (II): 選択ソート
ドラッグアンドドロップ機械学習は、私が長い間考えてきたものです。 1. 過去世と現在世ドラッグ アン...
「たった30分の昼休みを取っただけで、私たちの分野はまた変わってしまったのか?」最新のオープンソース...
今日、企業組織は意思決定に人工知能や機械学習モデルをますます頼りにしており、こうした意思決定は私たち...
家庭でますます一般的になりつつある掃除ロボットは、ほこりを吸い取るだけでなく、個人のプライバシーも「...
6月19日のニュース:テクノロジーの進歩に伴い、人工知能(AI)が徐々に出版業界に参入し、特にオーデ...
人工知能は、人間の生活に強固な物質的基盤を築くだけでなく、より多くの人々を単純で退屈な反復作業から解...
アメリカのデジタルテクノロジー大手は、流行病の打撃を受けた後、軌道に戻った。数日前、Alphabet...
どのような AI テクノロジーが人気があり、人間の生活に影響を与えるでしょうか? [[398271]...
オープンソースのデータセットは著作権侵害のため棚から削除されました。例えば、LLaMA、GPT-J ...
[[435206]]近年、ディープニューラルネットワークは多くの科学技術上の問題において優れたパフ...
科学者は長い間ロボット工学の分野に興味を持っており、最近のバイオニックソフトロボットはロボット工学の...
この記事では、いくつかのクラスタリング アルゴリズムの基本的な概要を示し、シンプルでありながら詳細な...