본문 바로가기

Programming/자료구조

이진검색 (Binary Search)


이진검색이란 ?


이진검색은, 정렬된 데이터에서 특정한 데이터를 찾는 방법이다. . 처음과 중간의 값을 임의의 값으로 선택하여, 그 값을 찾고자 하는 값과 크고 작음을 비교하는 방식을 채택한다. 또 다시, 처음 선택한 중앙값이 만약 찾는 값보다 크면 그 값은 새로운 최고값이 되며, 작으면 그 값은 새로운 최하값이 된다. 이 일을 반복한다. 


예를 들어, 아래 16개의 데이터에서, 1개의 숫자를 찾는다고 하면... 4번의 시도로 숫자를 찾을 수 있다.


따라서, 복잡도는 O(logN)이 된다. 

계산해 보면, 생각해보면 당연한 일.


내가 하던.. 사전에서 자주 사용하던 알고리즘이다.