loong qiang
像风一样自由

二分查找法是针对已经排好序的序列进行查找

每次折半查找

算法时间复杂度,对于长度为N的序列,每次执行N/2,假设k次结束,最后到第一个N/2^k=0,所以k=logN

时间复杂度logN

int binarysearch(const int array[], int x, int N) {
    int low, mid, high;
    low = 0, high = N - 1;
    while (low <= high) {
        mid = (low + high) / 2;
    if(array[mid] < x)
    low=mid+1;
    else if(array[mid] > x)
    high=mid-1;
    else
    return mid; 
}
return -1;
}

 

posted on 2014-06-26 10:06  loong qiang  阅读(771)  评论(0编辑  收藏  举报