というわけで、探索にはソートが有効であるということがわかっていただけたでしょうか?
並び替えも大変なんですか?
それにもいろいろやり方があります。今日はいろんなソートについて勉強します。
ちょっと、外に行ってきます。ソートだけに。
そーとー悪い生徒ですね、やうたん・・・。
バブルソート
バブルソートは、隣接するデータの値を比較して、並べ替えるべきかどうかを判断し、
必要に応じて並べ替える動作を繰り返す手法です。逐次比較することで、最終的に
はデータの先頭から末尾までを順番に整列することができます。
左を小さい数字、右を大きい数字に並び替えるとしますよね。
初 期 83467215
1回目 34672158 (8を移動させていく。移動回数7)
2回目 34621578 (7を移動。移動回数3)
3回目 34215678 (6を移動。移動回数3)
4回目 32145678 (4を移動。移動回数2)
5回目 21345678 (3を移動。移動回数2)
6回目 12345678 (2を移動で終了。移動回数1。合計18回)
こんなふうに動いていきます。
しらみつぶしですね。
そうだそうだ。
・・・そうでもないんですけど、結果的に小さい数字が右側にあるときに・・・
若干時間がかかる特徴があります。数字を並び替えて実験してみましょう。
(極端な例ですけどね)
初 期 87654321
1回目 76543218 (8を移動させていく。移動回数7)
2回目 65432178 (7を移動。移動回数6)
3回目 54321678 (6を移動。移動回数5)
4回目 43215678 (5を移動。移動回数4
5回目 32145678 (4を移動。移動回数3)
6回目 21345678 (3を移動。移動回数2)
7回目 12345678 (2を移動で終了。移動回数1。合計28回。)
詳しくは基本情報処理技術者試験でやりますので、今回はざーっとでいいですよ!
(つづきます)