이진 탐색(Binary Search)

이찬혁·2024년 3월 28일

알고리즘

목록 보기
26/72

이진 탐색(Binary Search)이란?

이진 탐색은 데이터가 정렬되어 있는 상태에서 원하는 값을 찾아내는 알고리즘이다.
대상 데이터의 중앙값과 찾고자 하는 값을 비교해 데이터의 크기를 절반씩 줄이면서 대상을 찾는다.
구현 원리가 간단하다.

기능특징시간 복잡도
타깃 데이터 탐색중앙값 비교를 통한 대상 축소 방식O(logN)

이진 탐색 과정

이진 탐색은 오름차순 정렬데이터에서 아래 4가지 과정을 반복한다.

내림차순이라면 조건을 반대로 하여 과정을 반복
  1. 현재 데이터셋의 중앙값을 선택한다.
  2. 중앙값 > 타겟 데이터일 때 중앙값 기준으로 왼쪽 데이터 셋을 선택한다.
  3. 중앙값 < 타겟 데이터 일 때 중앙값 기준으로 오른쪽 데이터 셋을 선택한다.
  4. 과정 1~3을 반복하다가 중앙값 == 타겟 데이터일 때 탐색을 종료한다.

binary-search

profile
나의 개발로그

0개의 댓글