IPA過去問ドリル

平成23年度 秋期 応用情報技術者試験 午前 問8

テクノロジ/アルゴリズム

データが昇順にソートされた配列 X[i](i=0, 1,…, n-1)を2分探索する。流れ図の a に入るものとして,適切なものはどれか。ここで,流れ図の中の割り算は小数点以下を切り捨てるものとする。

平成23年度 秋期 応用情報技術者試験 午前 問8の図

出典:平成23年度 秋期 応用情報技術者試験 午前 問8

正解:イ

解説

2分探索のループは,探索対象がまだ残っている間(left ≦ right の間)繰り返す必要があります。sch=-1(未発見)である間,かつ探索範囲が有効(left ≦ right)である間ループを継続するので,a には left ≦ right が入ります。

選択肢ごとの解説

  • 誤り。left=rightのとき(探索範囲の要素が1個残っている場合)にループが終了してしまい,その要素を調べられません。
  • 正しい。探索範囲に少なくとも1要素残っている間(left≦right)繰り返す必要があります。
  • 誤り。探索範囲に要素が2個以下になった時点でループが終了してしまい,正しく探索できません。
  • 誤り。left=rightのときにもループが終了してしまい,最後の要素を検査できません。
応用情報技術者の過去問を演習モードで解く