JAVA
[알고리즘] 이분탐색
애용쓰
2023. 3. 8. 21:42
int BinarySearch(int arr[], int target) {
int left = 0;
int right = arr.length-1;
int mid;
while(left<=right){
mid = (left+right) / 2;
if(arr[mid] == target)
return mid;
else if(arr[mid] > target)
right = mid-1;
else
left = mid+1;
}
return -1;
}
1. 내가 찾아야 할 범위를 left ~ right 로 설정한다.
2. 정답을 mid로 간주하고 유효한지 확인한다.
3. 2를 따지며 left, right를 줄여나간다. (right = mid-1, left = mid+1)
4. left > right가 되면 종료한다.