코테연습일지/이분탐색 & 투 포인터
이진 탐색(Binary Search)
jemin0619
2024. 1. 20. 14:16
정렬된 배열에서만 사용 가능
재귀함수를 사용해 선형 탐색보다 효율적
int binarySearch(int startIdx, int endIdx, int target) {
if (startIdx > endIdx) return -1;
int middle = (startIdx + endIdx) / 2;
if (target < container[middle]) {
return binarySearch(startIdx, middle - 1, target);
}
else if (target > container[middle]) {
return binarySearch(middle + 1, endIdx, target);
}
else {
return middle + 1;
}
}