スポンサーリンク

バイナリーサーチ(二分探索)

まずは、下記のように、ソート・ユニークされた配列を対象にします。

バイナリーサーチは、サーチ対象の中央を起点として、
右半分・左半分どちらにあるかを判定して、サーチ対象の位置を絞り込んでいきます。

leftとrightを下記のように初期値を定義して、

targetが、右半分・左半分どちらに位置するかをループ処理していきます。
targetが、leftとrightが隣り合うまでループ処理しすると、
leftかrightのどちらかにtargetが存在することになります。

途中でtargetが見つかればreturnし、最後までループ処理したら、
leftかright、targetがある方をreturnします。
targetがなければ-1をリターンしています。
※targetは0以上の整数としています。

スポンサーリンク

サンプルコード

下記がサンプルコードになります。

下記が実行結果になります。

スポンサーリンク