メインコンテンツへスキップ
応用情報技術者令和5年度 春期午前問 7

令和5年度 春期 応用情報技術者 午前 問7

難度標準

配列に格納されたデータ 2, 3, 5, 4,1に対して、クイックソートを用いて昇順に並べ替える。2回目の分割が終わった状態はどれか。ここで、分割は基準値より小さい値と大きい値のグループに分けるものとする。また、分割のたびに基準値はグループ内の配列の左端の値とし、グループ内の配列の値の順番は元の配列と同じとする。

選択肢

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

クイックソートは、基準値(ピボット)を選び、それより小さい値と大きい値に分割していくソートアルゴリズムです。

詳細Layer 2
展開

まず、元の配列2, 3, 5, 4, 1の左端の値2を基準値とします。2より小さい値は1、大きい値は3, 5, 4です。分割後の配列は、基準値2、小さい値のグループ、大きい値のグループの順になり、1, 2, 3, 5, 4となります。これが1回目の分割です。次に、分割されたグループのうち、要素が2つ以上ある大きい値のグループ3, 5, 4に対して分割を行います。このグループの左端の値3を基準値とします。3より小さい値はなく、大きい値は5, 4です。分割後の配列は、基準値3、小さい値のグループ、大きい値のグループの順になり、3, 5, 4となります。これを1回目の分割で得られた1, 2と連結すると、1回目の分割で得られた1, 2, 3, 5, 4から、基準値3のグループが3, 5, 4に分割された結果、全体としては1, 2, 3, 5, 4となります。しかし、問題文の「分割のたびに基準値はグループ内の配列の左端の値とし、グループ内の配列の値の順番は元の配列と同じとする。」という条件を考慮すると、1回目の分割で基準値2により、2より小さい値は1、2より大きい値は3, 5, 4となり、配列は1, 2, 3, 5, 4となります。2回目の分割は、基準値2より大きいグループ3, 5, 4に対して行われます。このグループの左端の値3を基準値とします。3より小さい値はなく、3より大きい値は5, 4です。分割後のグループは3, 5, 4となります。これを1回目の分割結果の1, 2と組み合わせると、1, 2, 3, 5, 4となります。これは選択肢アの並び順であり、2回目の分割が終わった状態となります。他の選択肢は、基準値の選択や分割のルールが異なっているため、誤りです。

この解説は?
AI生成

解説は公式の問題文・公式解答を基に作成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ずリンク先の公式資料でご確認ください。

最終更新:

検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

分野「アルゴリズムとプログラミング」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
計算量(O 記法)・基本データ構造・典型アルゴリズム(探索・整列)・再帰の挙動を読む力。
学習の進め方
擬似コードを実際にトレースして変数の遷移を表に書き出す習慣を付ける。スタック/キュー/木の図示が定着の鍵。
関連キーワード
計算量二分探索クイックソート再帰スタックキュー木構造
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

関連する問題

アルゴリズムとプログラミング の他の問題

他試験区分の同分野問題

応用情報技術者 と共通カリキュラムの他区分で「アルゴリズムとプログラミング」分野を演習する

他年度の「アルゴリズムとプログラミング」問題

応用情報技術者 の同じ分野を年度をまたいで演習する

応用情報技術者 の学習ガイド