本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

令和5年度 春期 高度情報技術者試験問題と解説

問3

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

ア 1, 2, 3, 5, 4

イ 1, 2, 5, 4, 3

ウ 2, 3, 1, 4, 5

エ 2, 3, 4, 5, 1


正解


解説

クイックソートは、中間的な基準値を決めて、それよりも大きな値を集めた区分と、小さな値を集めた区分に要素を振り分け、次に、それぞれの区分の中で同様な処理を繰り返す。

1回目の分割は 2 を基準として、以下のグループとなる。
(1), (2), (3, 5, 4)

2回目の分割は、事実上 (3, 5, 4) のグループに対してのみ分割が行われ、左端の 3 を基準として、以下のグループとなる。
(1), (2), (3), (5, 4)

よって、 2回目の分割が終わった状態は
1, 2, 3, 5, 4 である。

問2 目次 問4