728x90
데이터가 정렬된 상태에서 원하는 값을 찾아내는 알고리즘이다.
데이터의 중앙값과 찾고자 하는 값을 비교해 절반씩 탐색하며 대상을 찾는다.
시간 복잡도는 O(logN)이다.
🔰이분 탐색 과정
오름차순으로 정렬된 데이터가 있다고 가정하자.
- 현재 데이터셋의 중앙값을 선택한다.
- 중앙값이 타겟보다 클 때, 중앙값 기준으로 왼쪽 데이터셋을 선택한다. 작을 때는 오른쪽 데이터셋을 선택한다.
- 위 과정을 반복하다가 중앙값과 타겟 데이터의 값이 같으면 탐색을 종료한다.
728x90
'코딩 테스트 > 개념' 카테고리의 다른 글
Graph (0) | 2023.04.09 |
---|---|
Greedy Algorithm (0) | 2023.04.07 |
DFS & BFS (0) | 2023.03.30 |
Stack & Queue (0) | 2023.03.14 |
구간 합 (0) | 2023.03.09 |