一、算法思想
二分法查找,也称折半查找:前提是在已经排好序的数组中,通过将待查找的元素与中间索引值对应的元素进行比较,若大于中间索引值对应的元素,则去右半部分查找;否则,去左半部分查找。以此类推,直到找到为止;若都没找到,则返回一个负数。
二、算法案例
public class Test {
public static void main(String []args) {
int[] aiyo={20, 30, 55, 67, 79, 81, 97, 100};
int index = binarySearch(aiyo, 81);
System.out.println(index);
}
// 二分法查找算法
public static int binarySearch(int[] num, int key){
int start=0; // 开始下标
int end=num.length-1; // 结束下标
while(start<=end){
int mid = (start+end)/2;
if(num[mid]>key){
end = mid-1;
}
else if(num[mid]<key){
start=mid+1;
}
else
return mid;
}
return -1;
}
}