코테 - 이분 탐색

aydennote·2023년 5월 4일
0

Coding_TEST

목록 보기
6/6
post-thumbnail

1. 이진 탐색이란?

정렬된 리스트에서 사용되는 탐색 알고리즘이다.
리스트에서 탐색 범위를 절반씩 줄이며 특정한 값을 찾을 때 사용한다.
.indexOf() 와 같은 기존 메서드 보다 속도가 빠르고 효율적이라는 장점이 있다.


✍ 설명

function binarySearch(arr, target) {
      let left = 0;
      let right = arr.length - 1;

      while (left <= right) {
        let middle = Math.floor((left + right) / 2);
        if (target < arr[middle]) {
          right = middle - 1;
        } else if (target > arr[middle]) {
          left = middle + 1;
        } else {
          return middle;
        }
      }
      return -1;
    }

    console.log(binarySearch([1, 2, 3, 9, 12, 52, 64], 12));

const num = [1, 2, 3, 9, 12, 52, 64] 배열이 있고 찾을 값이 12 라면 중간 값 9와 비교하여 찾을 값이 더 크기 때문에 9 이상인 우측 12, 52, 64를 또 반으로 나눠 중간 값인 52와 찾을 값 12를 비교하면서 값을 찾을 때까지 이 과정을 반복한다.

profile
기록하는 개발자 Ayden 입니다.

0개의 댓글