応用情報技術者 PR

【応用情報技術者】バブルソートとは何か

記事内に商品プロモーションを含む場合があります

●バブルソートとは
並び替えの方法の1つで、隣り合う要素を比較して並び替えるを繰り返す方法。

出題された回(平成29年度春期以降)
令和3年度秋期

バブルソートの説明

バブルソートとは、並び替えの方法の1つで、隣り合う要素を比較して並び替えるを繰り返す方法です。

実際の例を見てみましょう。
バブルソートで「8549」を昇順に並び替えてみます。

①.1つ目の値と2つ目の値を比較し、2つ目の値の方が小さければ場所を入れ替える。
1つ目の値(8)より2つ目の値(5)の方が小さいので場所を入れ替えましょう。→5849

②.2つ目の値と3つ目の値を比較し、3つ目の値の方が小さければ場所を入れ替える。
2つ目の値(8)より3つ目の値(4)の方が小さいので場所を入れ替えましょう。→5489

③.3つ目の値と4つ目の値を比較し、4つ目の値の方が小さければ場所を入れ替える。
3つ目の値(8)の方が4つ目の値(9)より小さいので場所はそのままです。→5489
この時点で1番大きい9が右端に来ています。

④.①~③を要素数の数だけ繰り返す
ここで2番目に大きい8が右から2番目に来ます。→4589
今回はこの時点で昇順に並びましたが、この時点でまだ昇順になっていなければ昇順になるまで①~③を繰り返します。

これがバブルソートです。

過去問

応用情報技術者 午前試験
令和3年度秋期問5

バブルソートの説明として、適切なものはどれか。

ア ある間隔おきに取り出した要素から成る部分列をそれぞれ整列し、更に間隔を詰めて同様の操作を行い、間隔が1になるまでこれを繰り返す。

イ 中間的な基準値を決めて、それよりも大きな値を集めた区分と、小さな値を集めた区分に要素を振り分ける。次に、それぞれの区分の中で同様の操作を繰り返す。

ウ 隣り合う要素を比較して、大小の順が逆であれば、それらの要素を入れ替えるという操作を繰り返す。

エ 未整列の部分を順序木にし、そこから最小値を取り出して整列済の部分に移す。この操作を繰り返して、未整列の部分を縮めていく。

正解と解説

正解は”ウ”
隣り合う要素を比較して並び替えをしていくのがバブルソートです。よって、”ウ”が正解です。

ちなみに、
ア:シェルソート
イ:クイックソート
エ:ヒープソート
です。