Sort)ソート基本バブルソートとはバブルソートは安定なソートアルゴリズムの一つです。隣り合う要素の大小関係を見て、入れ替えながらソートしていきます。他のソートには最悪計算時間が\(O(nlogn)\)のものもありますが、バブルソートの計算量は選択ソートと同様に\(O(n^2)\)となっています。アルゴリズムが理解しやすく、実装も簡単な安定ソートなので、使用されることがしばしばあります。アルゴリズム配列の要素数をnとしたとき、以下のように隣接する要素の小さい方が前へ、大きい方が後ろに来るように入れ替えながらソートします。j+1\)番目の要素同士を比べて、\(j\)番目のほうが大きかったら入れ替える\(j\)を1増やす\(j\)が\(n-i-1\)未満なら3.へ戻る\(i\)を1増やす\(i\)が\(n-1\)未満なら2.へ戻る。ないなら終了するこのアルゴリズムは2重のループ文で表すことができます。内側のループは3.から5.まで、外側のループは2.から7.までのことです。計算量は全て\(O(n^2)\)になります。上述のアルゴリズムでは既にソート済みの配列であっても\(O(n^2)\)だけの時間がかかります。アルゴリズムの一部を変更することで最善の時の計算量が小さくなります。内側のループで要素の交換を1度でもしたかをチェックすることで、既にソートされているかどうかを確かめることができます。ソートされた時点で終了するようにすれば、ソート済み配列を受け取った際に最善となり計算量は\(O(n)\)です。配列のソート実際にバブルソートを用いて配列をソートしてみましょう。21\}\)という配列を用います。内側のループ終了(15はもう動かさない)これでバブルソートが完了しました。先程の問題を実際にプログラムで解いてみます。ソートアルゴリズムの中でも、最も基本的なアルゴリズムの一つです。挿入ソートとは、安定な内部ソートのアルゴリズムの一つです。コメントをキャンセルメールアドレスが公開されることはありません。*次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。