이분 검색 법 실현

찾기 는 정적 찾기 와 동적 찾기 로 나 뉜 다.
정적 찾기 는 주로 순서 찾기 와 2 분 찾기 (반절 찾기) 를 포함한다.순서 찾기 는 우리 가 자주 사용 하 는 검색 방식 이다. 순서 표 의 순서 찾기 와 링크 의 순서 찾기 가 있 는데 이 두 부분 은 앞에서 선형 표를 배 울 때 모두 학습 된다.2 분 검색 은 질서 있 는 표를 대상 으로 하 는 검색 으로 효율 이 높 고 비교 횟수 가 적다.
동적 검색 이란 시 계 를 삭제 하고 삽입 할 수 있 는 동작 을 말한다.주로 이 진 트 리 를 위주 로 공부 하면 됩 니 다.
2 분 검색 코드 구현:
#include
using namespace std;

int binary_find(int a[], int n, int key)
{
    int low = 0;
    int high = n - 1;
    int mid;
    
    while(low <= high)
    {
              mid = (low + high)/2; 
              if(a[mid] == key) break;
              else if (a[mid] < key)
              low = mid + 1;
              else if(a[mid] > key)
              high = mid - 1;
    }
    if (low <= high)
    return mid;
    else
    return -1;
}
int main()
{
    int A[10] = {1,2,3,4,5,6,7,8,9,10};
    int c = binary_find(A, 10, 6);
    cout << "position of key : "<< c << endl;
    system("pause");
    return 0;
}

좋은 웹페이지 즐겨찾기