您的位置:首页 > 其它

基础算法-二分查找

2015-03-10 09:20 357 查看
前提条件:变化较小的升序数组

时间复杂度:log(n)

基本思想:将数组的中间值与目标值进行比对,如果mid大于目 标值,则在左半边进行第二次查找,如果mid小于目标值,在右半边进行查找。

代码:

int bsearch(int num[], int start, int end, int target)
{
int left=start;
int right=end;
int mid;
while(left < right)
{
mid=(left+end)>>1;
if(num[mid]>target)    right=mid;
else    left=mid;
}
return mid;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: