이진 탐색(Binary Search) 이란?
이진 탐색(Binary Search)은 정렬된 배열에서 특정 값을 효율적으로 찾는 알고리즘입니다. 이 알고리즘은 배열의 중간 값과 찾고자 하는 값을 비교하여 탐색 범위를 반으로 줄여나가며 값을 찾아나갑니다. 이진 탐색은 배열의 크기에 비례하지 않고 큰 데이터에서도 빠르게 원하는 값을 찾을 수 있습니다.
이진 탐색(Binary Search) 예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function binarySearch(arr, targetValue) {
let left = 0;
let right = arr.length - 1;
while (left <= right) {
const mid = Math.floor((left + right) / 2);
if (arr[mid] === targetValue) {
return mid; // 값이 중간 값과 일치하면 인덱스 반환
} else if (arr[mid] < targetValue) {
left = mid + 1; // 중간 값보다 크면 오른쪽 반 탐색
} else {
right = mid - 1; // 중간 값보다 작으면 왼쪽 반 탐색
}
}
return -1; // 값을 찾지 못한 경우 -1 반환
}
const array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const targetValue = 7;
const index = binarySearch(array, targetValue);
마치며
혹시 잘못된 정보나 궁금하신 게 있다면 편하게 댓글 달아주세요.
지적이나 피드백은 언제나 환영입니다.