[Algorithm] 이진 탐색 (Binary Search)
이진 탐색 알고리즘 (Binary Search) : 정렬된 배열의 중앙값이, 찾으려는 값과 같은지 확인하고 다르다면 두 값의 대소 관계에 따라 범위를 중간값의 좌/우측으로 좁혀가는 탐색 알고리즘. 정렬된 배열에서만 사용 가능 오름차순(내림차순)으로 순회하는 선형탐색 알고리즘은 O(N)만큼의 시간이 듦 그에 반해 이진 탐색 알고리즘은 시간복잡도가 O(logN)으로 훨씬 줄어듦. 메인 로직 1. 주어진 배열의 양 끝값을 low, high로 설정한 후 중앙값의 인덱스(j)을 찾는다. 2. target이 배열의 중앙값보다 작다면 high = j-1로, target이 배열의 중앙값보다 크다면 low = j+1로 재설정하여 범위를 변경한다. 3. target과 중앙값이 일치할 때까지 2.의 과정을 반복한다. 4. ..
Etc/Algorithm & Solving 2022. 2. 26. 19:46