1️⃣ 개요
- 순차 탐색 : 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 확인하는 방법
- 이진 탐색 : 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법
- 이진 탐색은 시작점, 끝점, 중간점을 이용하여 탐색 범위를 설정
2️⃣ 동작 순서
- 정렬된 리스트의 양 끝을 시작점과 끝점으로 설정합니다.
- 시작점과 끝점의 중간점과 찾고자 하는 값을 비교합니다.
- 만약 찾고자 하는 값보다 중간점의 값이 크다면(찾고자 하는 값 < 중간 점) 끝점을 중간점 한 칸 아래로 옮깁니다.
- 만약 찾고자 하는 값보다 중간점의 값이 작다면(중간점 < 찾고자 하는 값) 시작점을 중간점 한 칸 위로 옮깁니다.
- 중간점의 값과 찾고자 하는 값이 같을 때까지 3, 4과정을 반복합니다.

3️⃣ 이진 탐색의 시간 복잡도
- 단계마다 탐색 범위를 2로 나누는 것과 동일하므로 연산 횟수는 $log_2^N$ 에 비례합니다.
- 예를 들어 초기 데이터 개수가 32개일 때, 이상적으로 1단계를 거치면 16개 가량의 데이터만 남습니다.
- 2단계를 거치면 8개 가량의 데이터만 남습니다.
- 3단계를 거치면 4개 가량의 데이터만 남습니다.
- 다시 말해 이진 탐색은 탐색 범위를 절반씩 줄이며, 시간 복잡도는 $O(logN)$을 보장합니다.