Algorithm

이분 탐색(Binary Search)

quedevel 2023. 4. 12. 10:15
728x90
반응형

이분 탐색(Binary Search)은 정렬된 배열에서 특정 값의 위치를 찾는 알고리즘입니다. 이 알고리즘은 배열의 중간 값과 찾고 자 하는 값을 비교하여 탐색 범위를 반으로 줄여나가는 방법을 사용합니다.

이분 탐색의 시간 복잡도는 O(log n)입니다.

Binary Search ( with Javascript )

 function binarySearch(arr, target) {
   let low = 0;
   let high = arr.length - 1;
   while (low <= high) {
     let mid = Math.floor((low + high) / 2);
     if (arr[mid] === target) {
       return mid;
     } else if (arr[mid] < target) {
       low = mid + 1;
     } else {
       high = mid - 1;
     }
   }
   return -1; 
}
// 예제
const arr = [1, 3, 5, 7, 9];
const target = 7; console.log(binarySearch(arr, target)); // 3
728x90
반응형

'Algorithm' 카테고리의 다른 글

LCA(Lowest Common Ancestor)  (1) 2023.04.15
DFS & BFS  (0) 2023.04.14
LIS (Longest Increasing Sequence)  (0) 2023.04.14
해시 테이블(Hash Table)  (0) 2023.04.12
정렬(Sort)  (0) 2023.04.10