자료구조와 알고리즘/탐색 트리 & 최소 스패닝 트리
4-1. 이진 탐색(Binary Search)
1. 이진 탐색(Binary Search) 배열에 데이터가 정렬되어 있는 상황을 보자. v = { 1, 8, 15, 23, 32, 44, 56, 63, 81, 91 }; 여기에서 82라는 숫자가 배열에 있는지 찾을 수 있을까? 이진 탐색을 이용하면 반복자를 이용하여 O( N )의 시간 복잡도로 찾는 방법보다 더 빠른 탐색이 가능하다. 대략 중간에 위치한 인덱스를 이용하여 그 인덱스의 데이터와 82를 비교하여 더 작으면 더 작은 절반을 날리는 식으로 탐색을 수행한다. (시간 복잡도 = O ( log N ) ) 2. 이진 탐색 구현 - 이미 정렬된 배열 탐색하기 void BinarySearch(int N) { int left = 0; int right = (int)numbers.size() - 1; bool..
2023. 7. 13. 15:50