Binary search는 정렬된 배열에서 검색 범위를 반복적으로 절반으로 줄여 가며 목표 값을 찾습니다. 각 비교가 남은 원소의 절반을 제거하므로 O(log n) 시간이 걸립니다.
개념
가운데 원소를 봅니다. 목표 값과 같으면 끝입니다. 목표 값이 더 작으면 왼쪽 절반을, 더 크면 오른쪽 절반을 검색합니다. 찾거나 범위가 비워질 때까지 반복합니다.
예시
python
():
lo, hi = , (arr) -
lo <= hi:
mid = (lo + hi) //
arr[mid] == target:
mid
arr[mid] < target:
lo = mid +
:
hi = mid -
-
binary_search([, , , , ], )
