おはようございます😊
アルゴリズムの勉強をしているのですが、基本的なアルゴリズムの一つをご紹介いたします。
ソートという言葉聞いたことありますか?エクセル使う方とかはご存知かと思いますが、
決められた順序に並べ直すというものです。
(エクセルでも降順、昇順とか言って並べ替えできますよね。)
ソートのアルゴリズムは他にもあるりますが、バブルソートというアルゴリズムの紹介です。
下の順番に並んでる数字があるとします
5 9 3 1 2 8 4 7 6
この数字にバブルソートをかけます。
並び合う2つの数字を順に比べていきます。
①上の数字のまず1番右から6と7を比べた場合、小さい方の数字を左に寄せるという作業をします。
すなわちこの場合は6が小さいので6と7を入れ替えます。
5 9 3 1 2 8 4 6 7
②次は比べる箇所を一つ左にずらして今度は4と6を比べます。
今度は左の4の方が小さいので入れ替えません。
③次はまた比べる箇所を一つ左にずらすので、今度は8と4を比べます。
今度は右の4の方が小さいので入れ替えます。
5 9 3 1 2 4 8 6 7
④これを一番左まで比べていくと
1 5 9 3 2 4 8 6 7
ここまでの比較の連続で一番左に一番小さい数字、すなわち1が移動したました。
⑤左端の1はもうソート済みということにし、比較をまた一番右からスタートし、一番左まで(1はソート済みなので1の手前まで)すると
1 2 5 9 3 4 6 8 7
⑥これを再度
1 2 3 5 9 4 6 7 8
⑦再度
1 2 3 4 5 9 6 7 8
⑧再度
1 2 3 4 5 6 9 7 8
⑨再度
1 2 3 4 5 6 7 9 8
⑩再度
1 2 3 4 5 6 7 8 9
とソートが完了するというアルゴリズムです。
並べ替えるという作業にこういうアルゴリズムも使われてるんですね。
面白くないですか?😊
コメント