応用情報技術者試験 令和5年度 春期 午前 問7
配列に格納されたデータ 2、3、5、4、1 に対して、クイックソートを用いて昇順に並べ替える。2 回目の分割が終わった状態はどれか。ここで、分割は基準値より小さい値と大きい値のグループに分けるものとする。また、分割のたびに基準値はグループ内の配列の左端の値とし、グループ内の配列の値の順番は元の配列と同じとする。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ア
最初の分割では、配列全体の左端にある2を基準値とします。2より小さい値は1、2より大きい値は3、5、4です。各グループ内では元の順番を保つため、分割後は「1、2、3、5、4」となります。値1だけのグループは要素が一つなので、それ以上分割する必要はありません。次に、未確定のグループ「3、5、4」を分割します。このグループの左端にある3が基準値です。3より小さい値はなく、3より大きい値は元の順番のまま5、4となります。したがって、2回目の分割後も並びは「1、2、3、5、4」であり、アが正解です。
イの「1、2、5、4、3」は誤りです。基準値3は、小さい値のグループと大きい値のグループの間に置かれるので、5、4の後ろには置かれません。
ウの「2、3、1、4、5」は誤りです。最初の基準値2より小さい1は、2より前のグループに配置されなければなりません。
エの「2、3、4、5、1」は誤りです。1が基準値2より大きい側に残っており、最初の分割の条件を満たしていません。
【ポイント】 クイックソートでは、基準値を境に小さい値と大きい値へ分割し、各グループに同じ処理を繰り返します。 分割回数を数えるときは、要素が一つのグループは既に整列済みとして扱います。
出典:令和5年度 春期 応用情報技術者試験 午前 問7
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の80問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる