二分查找法(折半查找,采用递归完成):
前提,数组先排序
数组查询:
遍历法;
二分法(折半查找法)(前提是数组排序):先找数据中间点,判断当前数据在前半部分还是后半部分。,然后再判断数据在新数组的前半部分还是后半部分。
实现二分查找(方法递归查找)
public static int binarySearch (int arr[],int from, int to,int key){
if(from<to){ //循环结束条件
int mid=(from/2)+(to/2); //确定中间节点
if(mid==key){ //如果数据找到
return mid ; //取得当前索引
}else if (key<arr[mid]){
return binarySearch(arr,from, mid-1,key);
}else if (key>arr[mid]){
return binarySearch( arr, mid+1,to,key)
}else{
return -1}
}//
}