令和5年度 春期 ITストラテジスト試験 システムアーキテクト試験 ネットワークスペシャリスト試験 ITサービスマネージャ試験 情報処理安全確保支援士試験 午前Ⅰ 問題【共通】 問3

テクノロジアルゴリズム

この問題は2023(R5)春 高度試験共通 午前Iに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

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

解答・解説を読む

正解: 選択肢

クイックソートにおける分割処理の過程を順を追って確認します。

クイックソートは、配列から基準値を選び、それより「小さいグループ」と「大きいグループ」に分割する操作を再帰的に繰り返すアルゴリズムです。本問では「基準値はグループ内の左端の値」「グループ内の値の順番は元の配列と同じ」というルールに従います。

1回目の分割

  • 初期状態: 2, 3, 5, 4, 1
  • 基準値: 左端の 2
  • 小さいグループ: 1
  • 大きいグループ: 3, 5, 4 (元の順番のまま)
  • 1回目の分割後の状態: 1, 2, 3, 5, 4

2回目の分割

次に、要素数が2以上のグループである 3, 5, 4 に対して分割を行います(左側の 1 は要素数が1つなので分割終了です)。

  • 対象グループ: 3, 5, 4
  • 基準値: 左端の 3
  • 小さいグループ: なし
  • 大きいグループ: 5, 4 (元の順番のまま)
  • 2回目の分割後の状態: 1, 2, 3, 5, 4

2回目の分割が終わった時点でも配列の並びは 1, 2, 3, 5, 4 のままとなります。

各選択肢の解説

  • : 2回目の分割終了時の状態と一致するため、正解です。
  • : 要素の順番がルール(元の配列と同じ順番を保つ)に反しています。
  • : 1回目の分割が正しく行われておらず、基準値による大小の振り分けが不適切です。
  • : 1回目の分割で 1 が右端に残っており、基準値に対する大小の振り分けが正しく行われていません。