본문 바로가기
항해 일지

이분 탐색

by 얼음꽃 2022. 12. 18.
728x90

이분 탐색은 반으로 쪼개가면서 찾고자 하는 값을 얻어내는 방법

 

1부터 16 까지 16개 이므로 반으로 쪼개면 중간은 8입니다. 그리고 찾고자 하는 숫자는 8 이니 8 윗부분은 확인을 할 필요가 없어집니다.

 

이제 같은 방법으로 1~8 구간에서 반으로 쪼개면 4혹은 5가 되는데 아무 쪽으로 해도 큰 문제가 없으므로 거기서 또 분리를 하면 다음과 같습니다.

이제 남은 곳에서 반으로 쪼개게 되면 중간이 3이 되고 저희가 찾는 값에 도착하게 됩니다.

 

 

이렇게 보면 이진 / 이분 탐색이 아니라 그냥 탐색을 하게되면 최악의 경우 16번까지 다 확인을 해야하기 때문에 시간 복잡도가 O(n)이 나오게 됩니다. 그러나 이와 같이 이진 / 이분 탐색을 하게되면 3번만에 값을 찾을 수 있게 됨으로 최악의 경우라고 하면 O(logn)이 걸리게 됩니다.

 

따라서, 이진 / 이분 탐색트리는 반으로 쪼개가면서 값을 찾는 것을 의미하고 시간 복잡도는 O(logn) 입니다.

728x90

'항해 일지' 카테고리의 다른 글

인덱스???  (0) 2022.12.18
트리(Tree) 와 그래프(Graph)  (0) 2022.12.18
Nginx 와 Apache  (0) 2022.12.18
npm(Node Packaged Manager)  (0) 2022.12.18
Express 얘는 뭐꼬?  (0) 2022.12.18