過去問解きまくり研究所 ホーム

令和4年度 秋期 午前 問6

アルゴリズム

ここで用いられる整列アルゴリズム

未整列の配列 A[i](i=1, 2, …, n)を,次の流れ図によって整列する。ここで用いられる整列アルゴリズムはどれか。

〔流れ図〕

開始
 ↓
ループ1  i:1, 1, n−1     (注)
 ↓
ループ2  j:n, −1, i+1    (注)
 ↓
判断  A[j] : A[j−1]
   ├─ ≧ のとき ──────────┐(何もしないでループ2の終端へ)
   └─ < のとき            │
        w ← A[j]           │
        A[j] ← A[j−1]      │
        A[j−1] ← w         │
 ↓ ←──────────────────────┘
ループ2(終端)
 ↓
ループ1(終端)
 ↓
終了

(注)ループ端の繰返し指定は,変数名:初期値,増分,終値 を示す。
答えと解説を見る

✓ これが正解エバブルソート

解説

隣り合う 2 つを比べて入れ替える整列です。

設問は、流れ図で示された整列アルゴリズムの名前を選ばせています。軸になるのは 2 点だけです。比べている相手は隣どうしか、そして直し方は入れ替えか、それとも取り出して挿し込む形かです。内側の繰返しは添字を末尾から前へ 1 ずつ減らしながら回り、配列の j 番目と、その 1 つ手前の要素を比べています。手前の方が大きければ、作業用の変数を経由して 2 つを入れ替えます。要素数 4 の並びで 1 周だけ追うと、小さい値が前へ前へと押し上げられ、1 周ごとに先頭側が 1 つずつ確定していきます。隣り合う要素の比較と入れ替えを繰り返す整列なので、答えはバブルソートです。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:令和4年度 秋期 応用情報技術者試験 午前 問6

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)