본문 바로가기
Study/Algorithm

[Algorithm] 이진 탐색(Binary Search, 이분 탐색, 이진 검색)

by 파크영 2021. 10. 11.

이진 탐색(Binary Search)

정렬된 데이터 집합을 이분화하면서 특정한 값을 탐색하는 검색 알고리즘 

-> 자료들이 순서대로 정리되어 있을 때 원하는 값을 찾기 위해 자료를 반씩 나누어 살펴보는 방법

 

시간 복잡도 O(logN)으로 대표적인 로그 시간 알고리즘

 

1) 특정한 값을 찾기 위해 정렬된 데이터 집합의 중간 값 X와 비교한다. 
2) X보다 작으면 X를 기준으로 왼쪽 데이터들, X보다 크면 X를 기준으로 오른쪽 데이터들 대상으로 다시 탐색한다. 
3) 1 - 2번을 반복하며 특정값을 찾을 때 까지 반복한다.   

 

 

 

 

종료 조건 : 원하는 값을 찾으면 종료

 

하지만 원하는 값이 배열에 존재하지 않는다면 탐색을 하다가 찾지 못했는데 더 이상 남은 배열이 존재하지 않으면 원하는 값이 배열에 존재하지 않는다고 판단하고 종료된다. 

 

 

 


정보 출처 및 참고

 

이진 탐색

자료들이 순서대로 정리되어 있을 때 원하는 값을 찾기 위해 자료를 반씩 나누어 살펴보는 방법. 이진 탐색(binary search)에서 binary는 ‘두 부분으로 이뤄진' 이라는 뜻을 가지고 있습니다. 쉽게 말

terms.naver.com

 

 

댓글