基本情報技術者試験 - 令和4年12月修了 - 問8
バブルソートの説明として,適切なものはどれか。
| ア | ある間隔おきに取り出した要素から成る部分列をそれぞれ整列し,更に間隔を詰めて同様の操作を行い,間隔が1になるまでこれを繰り返す。 |
|---|---|
| イ | 中間的な基準値を決めて,それよりも大きな値を集めた区分と,小さな値を集めた区分に要素を振り分ける。次に,それぞれの区分の中で同様の操作を繰り返す。 |
| ウ | 隣り合う要素を比較して,大小の順が逆であれば,それらの要素を入れ替えるという操作を繰り返す。 |
| エ | 未整列の部分を順序木にし,そこから最小値を取り出して整列済の部分に移す。この操作を繰り返して,未整列の部分を縮めていく。 |
答え : ウ
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › アルゴリズム
解説 :
「バブルソート」とは,隣り合う要素を比較し,大小の順序が逆であればそれらの要素を入れ替えるという操作を,配列の端から端まで繰り返し行うことで,要素を整列させるアルゴリズムです。この操作を配列全体に対して繰り返すことで,最終的に全ての要素が正しい順序に並び替えられます。正解は「ウ」です。
「ア」は,ある間隔おきに取り出した要素から成る部分列をそれぞれ整列し,徐々に間隔を詰めながら同様の操作を繰り返す手法についての説明ですが,これは「シェルソート」です。
「イ」は,中間的な基準値を決めて,それより大きい値の区分と小さい値の区分に要素を振り分け,それぞれの区分の中で同様の操作を繰り返す手法についての説明ですが,これは「クイックソート」です。
「エ」は,未整列の部分を順序木にし,そこから最小値を取り出して整列済みの部分に移すという操作を繰り返す手法についての説明ですが,これは「ヒープソート」です。
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › アルゴリズム
解説 :
「バブルソート」とは,隣り合う要素を比較し,大小の順序が逆であればそれらの要素を入れ替えるという操作を,配列の端から端まで繰り返し行うことで,要素を整列させるアルゴリズムです。この操作を配列全体に対して繰り返すことで,最終的に全ての要素が正しい順序に並び替えられます。正解は「ウ」です。
「ア」は,ある間隔おきに取り出した要素から成る部分列をそれぞれ整列し,徐々に間隔を詰めながら同様の操作を繰り返す手法についての説明ですが,これは「シェルソート」です。
「イ」は,中間的な基準値を決めて,それより大きい値の区分と小さい値の区分に要素を振り分け,それぞれの区分の中で同様の操作を繰り返す手法についての説明ですが,これは「クイックソート」です。
「エ」は,未整列の部分を順序木にし,そこから最小値を取り出して整列済みの部分に移すという操作を繰り返す手法についての説明ですが,これは「ヒープソート」です。