이분 탐색(Binary search) : 정렬되어 있는 리스트에서 어떤 값을 빠르게 찾는 알고리즘(리스트의 크기 N->logN의 시간)
ex) 1 2 3 4 5 6 7 8 9 (target = 6)
1. 중간에 있는 값을 찾는다.
1 2 3 4 5 6 7 8 9
2. 구하고자 하는 숫자와 타겟을 비교한다.
1 2 3 4 5 6 7 8 9 (5 < 6)
3. 타겟이 더 크기 때문에 5의 오른쪽 구간에서 타겟을 찾으면 된다.
1 2 3 4 5 6 7 8 9
4. 타겟을 찾을때까지 1~3번을 반복하면 된다(만약 타겟이 더 작으면 반대로 5의 왼쪽 구간에서 찾으면 된다).
'Coding > 알고리즘 이론' 카테고리의 다른 글
Manacher's Algorithm (0) | 2019.09.07 |
---|---|
그래프 (0) | 2019.09.01 |
최적화 문제(Optimization Problem) (0) | 2019.09.01 |
완전 탐색(Exhaustive Search) (0) | 2019.09.01 |
Pair, Make_pair (0) | 2019.08.20 |