ウカマル応用情報技術者ログイン

平成25年度 秋期 応用情報技術者 問9

テクノロジ系

未整列の配列a[i](i=1,2,…,n)を,流れ図で示すアルゴリズムによって昇順に整列する。n=6でa[1]〜a[6]の値がそれぞれ,21,5,53,71,3,17の場合,流れ図において,a[j−1]とa[j]の値の入替えは何回行われるか。

図

図の内容(文字)
開始 → ループ端「ループ1 i:1,1,n−1(注)」→ ループ端「ループ2 j:n,−1,i+1(注)」→ 判定「a[j−1]>a[j]」:Yesなら「a[j−1]とa[j]の値を入れ替える」へ進み,Noなら入替えを飛ばして合流 → ループ端「ループ2」→ ループ端「ループ1」→ 終了。 (注)ループ端の繰返し指定は,変数名:初期値,増分,終値を示す。
選択肢
正解と解説

正解 ウ

隣どうしを入れ替えるバブルソートの入替え回数は、配列内の大小が逆順になっている組の数と同じです。21,5,53,71,3,17では8組あるので、入替えは8回です。

この流れ図は、配列の後ろから隣どうしを比べ、前の方が大きければ入れ替えるバブルソートです。i=1では、71と3、53と3、5と3、21と3の4回を入れ替え、配列は3,21,5,53,71,17になります。i=2では、71と17、53と17、21と5の3回を入れ替え、配列は3,5,21,17,53,71になります。i=3では21と17の1回を入れ替えて整列が終わり、i=4、5では入替えはありません。合計は4+3+1=8回です。

ア:3回では整列が終わりません。1回目のループ(i=1)だけで、すでに4回の入替えが起こります。

イ:逆順の組は8組あり、1回の入替えで解消できるのは1組だけです。6回では整列は終わりません。

エ:15は比較の回数で、n(n−1)/2=6×5÷2で求まります。入替えは比較の結果、前の方が大きいときだけ行います。

出典:平成25年度 秋期 応用情報技術者試験 問9

全年度から出題。10問で実力を判定します。登録不要。

出典:平成25年度 秋期 応用情報技術者試験 問9(独立行政法人情報処理推進機構)

解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方