개발/알고리즘 개념 정리

[알고리즘] 이분 검색

hr0513 2025. 1. 22. 12:10
728x90
반응형

이분 검색: 정렬된 배열에서 탐색 범위를 절반씩 줄이며 원하는 값을 효율적으로 찾는 알고리즘

 

 

코드 예시

function solution(target, arr) {
  let answer;

  // 오름차순 정렬
  arr.sort((a, b) => a - b);

  let lt = 0;
  let rt = arr.length - 1;

  while (lt <= rt) {
    let mid = parseInt((lt + rt) / 2);

    if (arr[mid] === target) {
      answer = mid + 1;
      break;
    } else if (arr[mid] > target) {
      rt = mid - 1;
    } else {
      lt = mid + 1;
    }
  }

  return answer;
}

let arr = [23, 87, 65, 12, 57, 32, 99, 81];
console.log(solution(32, arr));

 

728x90
반응형

'개발 > 알고리즘 개념 정리' 카테고리의 다른 글

[알고리즘] 삽입 정렬  (0) 2025.01.22
[알고리즘] 버블 정렬  (0) 2025.01.22
[알고리즘] 선택 정렬  (0) 2025.01.22
[알고리즘] 스택 / 큐  (0) 2025.01.22