이진 탐색
Binary Search : 데이터가 정렬돼 있는 상태에서 원하는 값을 찾아내는 알고리즘이다.
대상 데이터의 중앙값과 찾고자 하는 값을 비교해 데이터의 크기를 절반씩 줄이면서 대상을 찾는다.
기능: 타겟 데이터 탐색특징: 중앙값 비교를 통합 대상 축소 방식시간 복잡도:O(logN)
핵심 이론
오름차순으로 정렬된 데이터에서 다음 4가지 방법을 반복한다.(내림차순이라면 조건을 반대로 하여)
현재 데이터셋의 중앙값을 선택한다.
중앙값 > 타겟 데이터: 중앙값 기준으로 왼쪽 데이터셋을 선택한다.중앙값 < 타겟 데이터: 중앙값 기준으로 오른쪽 데이터셋을 선택한다.과정
1 ~ 3을 반복하다가중앙값 == 타겟 데이터일때 탐색을 종료한다.

이렇게 이진 탐색을 사용하면
N개의 데이터에서log(N)번의 연산으로 원하는 데이터의 위치를 찾을 수 있다.다만 이진 탐색은 데이터가 정렬되어 있어야 한다는 전제 조건이 있다.
Last updated