위 과정에 따라 특정한 값 찾아보기
- 1 step - 찾으려는 182가 중간 인덱스 67보다 크기 때문에 67보다 큰 부분을 새로운 범위로 설정하여 다시 찾기
- 2 step - 찾으려는 182가 1 step의 큰 부분의 중간 인덱스 127보다 크기 때문에 127보다 큰 부분을 새로운 범위로 설정하여 다시 찾기
- 3 step - 찾으려는 182가 2 step의 큰 부분의 중간 인덱스 182와 같으므로 탐색 종료
- 같은 값을 Linear Search Algorithm으로 찾아본다면 11번의 과정이 필요함
탐색을 반복할 때마다 탐색 범위가 절반으로 줄어들게 되는 이 알고리즘은 데이터 양이 많을수록 더 높은 효율을 가짐
시간 복잡도는 O(log n)로, 빠른 편이지만 항상 효율이 좋은 것은 아님
- 데이터 양이 적고, 앞쪽에 위치한 데이터를 탐색할 때는 Linear Search Algorithm이 빠른 구간이 존재함
Binary Search Algorithm
Linear Search Algorithm
Tree는 자료구조를 나타내고, Algorithm은 해결 방법을 나타냄.
Binary Search Tree는 하나의 노드가 두 개의 하위 트리를 가지는 이진 트리로 이루어진
자료구조.
BST의 규칙