您的位置:首页 > 其它

二分查找O(logn)

2017-05-08 09:35 127 查看
//二分查找O(logn),要求arr为有序数组
public static int 二分查找(int[] arr,int target){
int start = 0;
int end = arr.length-1;
while(start<=end){
int mid = (start+end)/2;
if(arr[mid] > target){
end = mid-1;
}else if(arr[mid] < target){
start = mid+1;
}else{
return mid;
}
}
return -1;
}
//递归实现
public static int 二分查找(int[] arr,int target,int start,int end){if(start <= end){int mid = (start+end)/2;if(arr[mid] > target){end = mid-1;}else if(arr[mid] < target){start = mid+1;}else{return mid;}return 二分查找(arr,target,start,end);}return -1;}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: