「AP過去問 令和6年度春期 午前 問7」の版間の差分

提供:yonewiki
編集の要約なし
 
(同じ利用者による、間の3版が非表示)
8行目: 8行目:


=='''問7(問題文)'''==
=='''問7(問題文)'''==
 整列方法に関するアルゴリズムの記述のうち,バブルソートの記述はどれか。ここで,整列対象は重複のない1から9の数字がランダムに並んでいる数字列とする。
 整列方法に関するアルゴリズムの記述のうち、バブルソートの記述はどれか。ここで、整列対象は重複のない1から9の数字がランダムに並んでいる数字列とする。




ア 数字列の最後の数字から最初の数字に向かって,隣り合う二つの数字を比較して小さい数字が前に来るよう数字を入れ替える操作を繰り返し行う。
ア 数字列の最後の数字から最初の数字に向かって、隣り合う二つの数字を比較して小さい数字が前に来るよう数字を入れ替える操作を繰り返し行う。


イ 数字列の中からランダムに基準となる数を選び,基準より小さい数と大きい数の二つのグループに分け,それぞれのグループ内も同じ操作を繰り返し行う。
イ 数字列の中からランダムに基準となる数を選び、基準より小さい数と大きい数の二つのグループに分け、それぞれのグループ内も同じ操作を繰り返し行う。


ウ 数字列をほぼ同じ長さの二つの数字列のグループに分割していき,分割できなくなった時点から,グループ内で数字が小さい順に並べる操作を繰り返し行う。
ウ 数字列をほぼ同じ長さの二つの数字列のグループに分割していき、分割できなくなった時点から、グループ内で数字が小さい順に並べる操作を繰り返し行う。


エ 未処理の数字列の中から最小値を探索し,未処理の数字列の最初の数字と入れ替える操作を繰り返し行う。
エ 未処理の数字列の中から最小値を探索し、未処理の数字列の最初の数字と入れ替える操作を繰り返し行う。


 
 


=='''回答・解説'''==
=='''回答・解説'''==
アは正しいです。「隣り合う二つの数字を比較して小さい数字が前に来るように入れ替える操作を繰り返す」これは バブルソート の特徴を正確に表しています。バブルソートは隣接する要素を比較し、順序が逆であれば入れ替えるという操作を繰り返します。この結果、最も大きい要素が「泡のように」最後まで浮き上がります。


イは間違いです。「ランダムに基準を選び、基準より小さい数と大きい数に分け、それぞれを再帰的に処理」これは クイックソート の説明です。クイックソートは基準値(ピボット)を選び、ピボットを基準に小さい値と大きい値のグループに分割して整列を行います。
ウは間違いです。「数字列を分割し、最終的に小さい順に並べる」これは マージソート の説明です。マージソートは、データを分割して整列し、それを結合するという手法で動作します。
エは間違いです。
「未処理の中から最小値を探して、最初の位置と入れ替える」これは 選択ソート の説明です。選択ソートは未整列部分の最小値を探し、それを先頭に配置する操作を繰り返します。
 したがって
<span style = "background:linear-gradient(transparent 75%, #7fbfff 75%); font-weight:bold; ">
ア</span>
 が答えです。


 
 


[[AP過去問 令和6年度春期 午前 問6]]前の問題へ
[[AP過去問 令和6年度春期 午前 問6]]前の問題へ


[[AP過去問 令和6年度春期 午前 問8]]次の問題へ
[[AP過去問 令和6年度春期 午前 問8]]次の問題へ
 


[[AP過去問 令和6年度春期 午前#問題|AP過去問 令和6年度春期 午前 問題]]に戻る
[[AP過去問 令和6年度春期 午前#問題|AP過去問 令和6年度春期 午前 問題]]に戻る

2025年1月27日 (月) 21:01時点における最新版

AP過去問 令和6年度春期 午前 問題に戻る

AP過去問 令和6年度春期 午前 問6前の問題へ

AP過去問 令和6年度春期 午前 問8次の問題へ

 

問7(問題文)

 整列方法に関するアルゴリズムの記述のうち、バブルソートの記述はどれか。ここで、整列対象は重複のない1から9の数字がランダムに並んでいる数字列とする。


ア 数字列の最後の数字から最初の数字に向かって、隣り合う二つの数字を比較して小さい数字が前に来るよう数字を入れ替える操作を繰り返し行う。

イ 数字列の中からランダムに基準となる数を選び、基準より小さい数と大きい数の二つのグループに分け、それぞれのグループ内も同じ操作を繰り返し行う。

ウ 数字列をほぼ同じ長さの二つの数字列のグループに分割していき、分割できなくなった時点から、グループ内で数字が小さい順に並べる操作を繰り返し行う。

エ 未処理の数字列の中から最小値を探索し、未処理の数字列の最初の数字と入れ替える操作を繰り返し行う。

 

回答・解説

アは正しいです。「隣り合う二つの数字を比較して小さい数字が前に来るように入れ替える操作を繰り返す」これは バブルソート の特徴を正確に表しています。バブルソートは隣接する要素を比較し、順序が逆であれば入れ替えるという操作を繰り返します。この結果、最も大きい要素が「泡のように」最後まで浮き上がります。

イは間違いです。「ランダムに基準を選び、基準より小さい数と大きい数に分け、それぞれを再帰的に処理」これは クイックソート の説明です。クイックソートは基準値(ピボット)を選び、ピボットを基準に小さい値と大きい値のグループに分割して整列を行います。

ウは間違いです。「数字列を分割し、最終的に小さい順に並べる」これは マージソート の説明です。マージソートは、データを分割して整列し、それを結合するという手法で動作します。

エは間違いです。 「未処理の中から最小値を探して、最初の位置と入れ替える」これは 選択ソート の説明です。選択ソートは未整列部分の最小値を探し、それを先頭に配置する操作を繰り返します。


 したがって



 が答えです。

 


AP過去問 令和6年度春期 午前 問6前の問題へ

AP過去問 令和6年度春期 午前 問8次の問題へ

AP過去問 令和6年度春期 午前 問題に戻る