[알고리즘] 이진탐색 알고리즘 (Binary Search)
알고리즘/공부·2023. 1. 18.
이진탐색 알고리즘 (Binary Search) 란? 정렬된 배열에서 검색 범위를 반으로 줄여나가면서 해당 값이 배열안에 있는지를 찾는 알고리즘이다. 이진탐색 알고리즘은 반드시 정렬된 배열에서만 사용할 수 있다. 예시로 A라는 값을 찾으려고 할 때 맨 처음 A와 중간 값을 비교하고, A가 더 크다면 중간에서 오른쪽을 탐색, A가 작다면 중간에서 왼쪽을 범위로 탐색을 한다. 이 과정을 반복하여 해당 값이 있는지를 찾아낸다. 사진과 같이 이진탐색이 이루어진다. 이진탐색 코드 구현 #include #include using namespace std; bool compare(int a, int b) { return a < b; } int main() { ios::sync_with_stdio(0); cin.tie(..