이진 탐색

Sunny·2022년 8월 23일
0

🌱 이진 탐색(binary search)의 정의

  • 데이터가 정렬된 상태에서 원하는 값을 찾아내는 알고리즘
  • 대상 데이터의 중앙값과 찾고자 하는 값을 비교해 데이터의 크기를 절반씩 줄이면서 대상을 찾는다.
  • 시간 복잡도 : O(log N)

💡 이진 탐색은 정렬 데이터에서 원하는 데이터를 탐색할 때 사용하는 가장 일반적인 알고리즘
💡 구현 및 원리가 비교적 간단하므로, 코딩 테스트에서 부분 문제로 요구하는 영역


🌱 이진 탐색(binary search)의 핵심 이론

이진 탐색은 오름차순으로 정렬된 데이터에서 다음 4가지 과정을 반복한다.
(내림차순이라면 조건을 반대로 하여 과정 반복)

  1. 현재 데이터셋의 중앙값을 선택
  2. 중앙값 > 타깃 데이터 일 때 중앙값 기준으로 왼쪽 데이터셋 선택
  3. 중앙값 < 타깃 데이터 일 때 중앙값 기준으로 오른쪽 데이터셋 선택
  4. 과정 1~3 반복하다가 중앙값 == 타깃 데이터일 때 탐색을 종료
profile
개발에 재미를 붙여보기 :)

0개의 댓글