平成23年度 秋期 応用情報技術者試験 午前 問8
テクノロジ/アルゴリズムデータが昇順にソートされた配列 X[i](i=0, 1,…, n-1)を2分探索する。流れ図の a に入るものとして,適切なものはどれか。ここで,流れ図の中の割り算は小数点以下を切り捨てるものとする。

出典:平成23年度 秋期 応用情報技術者試験 午前 問8
- アleft < right
- イleft ≦ right
- ウleft + 1 < right
- エleft + 1 ≦ right
正解:イ
解説
2分探索のループは,探索対象がまだ残っている間(left ≦ right の間)繰り返す必要があります。sch=-1(未発見)である間,かつ探索範囲が有効(left ≦ right)である間ループを継続するので,a には left ≦ right が入ります。
選択肢ごとの解説
- ア誤り。left=rightのとき(探索範囲の要素が1個残っている場合)にループが終了してしまい,その要素を調べられません。
- イ正しい。探索範囲に少なくとも1要素残っている間(left≦right)繰り返す必要があります。
- ウ誤り。探索範囲に要素が2個以下になった時点でループが終了してしまい,正しく探索できません。
- エ誤り。left=rightのときにもループが終了してしまい,最後の要素を検査できません。