알고리즘. Recusion(순환)-이진 탐색
🌟 이진 탐색
이진 탐색은 배열에서 원하는 값을 찾아내는 알고리즘 중 하나다.
방법은 다음과 같다.
- 배열의 중간값과 x(찾는 값)을 비교한다.
- 중간값보다 x가 작으면 배열의 왼쪽으로, 크면 오른쪽으로 가서 다시 중간값을 찾는다.
- 반복
🌟 최대값 구하기
#include <stdio.h>
int BSearchRecursive(int arr[], int target, int low, int high) {
    if (low > high)
        return -1;
    int mid = (low + high) / 2;
    if (arr[mid] == target)
        return mid;
    else if (arr[mid] > target)
        return BSearchRecursive(arr, target, low, mid-1);
    else
        return BSearchRecursive(arr, target, mid+1, high);
}
int main()
{
    int arr[] = {10, 12, 20, 25, 30, 56, 70};
    
    printf("%d", BSearchRecursive(arr, 56, 0, 6));
    
    return 0;
}
참고 블로그! Jihun’s Development Blog
 
      
    
댓글남기기