Binary search は sorted array で target を探す algorithm で、search range を繰り返し半分にします。各 comparison で残りの半分を除外できるため、time は O(log n) です。
考え方
middle element を見ます。target と等しければ終了。target が小さければ left half、大きければ right half を探します。見つかるか range が empty になるまで繰り返します。
例
python
():
lo, hi = , (arr) -
lo <= hi:
mid = (lo + hi) //
arr[mid] == target:
mid
arr[mid] < target:
lo = mid +
:
hi = mid -
-
binary_search([, , , , ], )
