アルゴリズムとプログラミング(全23問中23問目)
No.23解説へ
5個のデータ列を次の手順を繰り返して昇順に整列するとき,整列が完了するまでの手順の繰返し実行回数は幾つか。
〔整列前のデータの並び順〕
5,1,4,3,2
〔手順〕
〔整列前のデータの並び順〕
5,1,4,3,2
〔手順〕
- 1番目のデータ>2番目のデータならば,1番目と2番目のデータを入れ替える。
- 2番目のデータ>3番目のデータならば,2番目と3番目のデータを入れ替える。
- 3番目のデータ>4番目のデータならば,3番目と4番目のデータを入れ替える。
- 4番目のデータ>5番目のデータならば,4番目と5番目のデータを入れ替える。
- 一度も入替えが発生しなかったときは,整列完了とする。
入替えが発生していたときは,(1) から繰り返す。
出典:サンプル問題1 問42
- 1
- 2
- 3
- 4
正解 エ問題へ
広告
解説
この整列手法はバブルソートと呼ばれるもので、隣り合う要素を比較し大小関係が逆順になっていればその二つの要素の位置を交換することを繰り返して整列を行う整列アルゴリズムです。
昇順とは、値の小さい順ということなので、数字が小さい順から「1,2,3,4,5」になるまで〔手順〕を繰り返していきます。(逆に大きい順の場合は降順といいます)
昇順とは、値の小さい順ということなので、数字が小さい順から「1,2,3,4,5」になるまで〔手順〕を繰り返していきます。(逆に大きい順の場合は降順といいます)
- 1回目の手順で、1,4,3,2,5
- 2回目の手順で、1,3,2,4,5
- 3回目の手順で、1,2,3,4,5
- 3回目で入替えが発生しているので4回目の〔手順〕を行います。すでに3回目で昇順に整列済みなので4回目では入れ替えは発生しません。
広告