首页 > 代码库 > 对分查找法(二分查找法,折半查找法)

对分查找法(二分查找法,折半查找法)

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

每次折半查找

算法时间复杂度,对于长度为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;}