이진 탐색

dkdiek·2024년 7월 31일

코딩테스트

목록 보기
17/20

데이터가 정렬돼 있는 상태에서 원하는 값을 찾아내는 알고리즘입니다.
대상 데이터의 중앙값과 찾고자 하는 값을 비교해 데이터의 크기를 절반씩 줄이면서 대상을 찾습니다.

  • 시간 복잡도 O(logN)

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

  • 현재 데이터 셋의 중앙값을 선택한다
  • 중앙값 > 타깃 데이터일 때 중앙값 기준으로 왼쪽 데이터셋을 선택한다
  • 중앙값 < 타깃 데이터일 때 중앙값 기준으로 오른쪽 데이터셋을 선택한다
  • 과정 1~3을 반복하다 중앙값==타깃 데이터일 때 탐색을 종료한다.

0개의 댓글