Coding/알고리즘 이론
이분탐색
labote
2019. 9. 1. 20:38
이분 탐색(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의 왼쪽 구간에서 찾으면 된다).