이진 탐색
-
[알고리즘] 탐색(2) - 이진 탐색CS/알고리즘 2024. 12. 5. 02:29
이진 탐색(Binary Search)이진 탐색정렬된 데이터에서 사용할 수 있다.탐색 범위를 절반씩 줄여가면서 원하는 데이터를 찾는 방식이다. 탐색 과정데이터 중앙에 있는 요소 선택선택된 중앙 요소가 목표값인지 확인목표값보다 작으면 왼쪽 부분에서, 목표값보다 크면 오른쪽 부분에서 이진 탐색을 한다.목표값을 찾을 때까지 1~3번을 반복이진탐색의 성능데이터 크기: n탐색 반복 횟수: x이진 탐색은 탐색을 반복할 수록 데이터 크기가 절반(1/2)씩 줄어든다.$$데이터\;크기 * (1/2)^{탐색\;반복\;횟수} = 데이터\;범위$$ 최악의 경우데이터 범위가 1까지 오는 상황$$n * (1/2)^x = 1$$$$=> n=2^x$$$$=> x=log_2{n}$$ 따라서 시간 복잡도는 O(logN) [코드 - C]..