二分查找也是分治策略和递归一个重要的实例。对于一个有序的数组,二分查找的时间复杂度是O(logn)

int binarysearch(int a[],int s,int e,int k)
{
    int mid =(s+e)/2;
    if(k==a[mid])
        return mid;
    else if(k<a[mid])
    {

        return binarysearch(a, s, mid, k);
    }
    else
        return binarysearch(a, mid+1, e, k);
}

 

 posted on 2014-05-24 11:52  Clivia_zhou  阅读(106)  评论(0编辑  收藏  举报