fullstack

'이진 검색'에 해당되는 글 1건

  1. [C++] 이진 검색 구현

[C++] 이진 검색 구현

자료구조

이진 검색 알고리즘은 정렬된 리스트에서 특정한 값의 위치를 찾기위해 찾을 값과 현재 유효한 값의 범위의 중간값을 비교해 범위를 좁히는 식으로 검색하여 빠르게 목표값을 찾을 수 있는 장점이 있다.


1
2
3
4
5
6
7
8
9
10
11
12
int binarySearch(int arr[], int size, int find)
{
    int low=0, high=size-1, mid;
    while(low<=high)
    {
        mid = (low+high)/2;
        if(arr[mid] > find) high = mid - 1;
        else if(arr[mid] < find) low = mid + 1;
        else return mid;
    }
    return -1;
}



#4 low가 high보다 커진다면 찾으려는 데이터가 없다는 것이다.

#11 목표값이 없을 경우에는 -1을 리턴해 준다.

'자료구조' 카테고리의 다른 글

[C++] Bubble Sort 구현  (0) 2015.11.12
[C++] 간단한 Queue 만들기  (0) 2015.11.12
[C++] 간단한 Stack 만들기  (0) 2015.11.11