写二分查找为什么容易犯错

来源:互联网 发布:mac文件放到移动硬盘 编辑:程序博客网 时间:2024/04/25 10:11

写二分查找为什么容易犯错

二分查找,又名折半查找,思路和程序都很简单,在笔试或面试也经常被考到,让手写写二分查找,但很多人写出的程序有瑕疵,其实,面试官考你这个,是看你认不认真,你做事的态度。
下面附上正确的写法(PHP描述)
public function binarySearch(arr,key){
count=count(arr);
low=0;high=count1;while(low<=high){mid=floor((low+high)/2);
if(key<arr[mid])$high=$mid1;elseif(key>arr[mid]) {
low=mid+1;
}else{
return $mid;
}
}
return false;
}

容易出错的地方:
1:while(low<=high) 这句,很多人写成 low<high
2:if(key<arr[mid])$high=$mid1;//mid-1;不是$mid

0 0
原创粉丝点击