二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。
public static int binary_search(int[] array , int value){
int low = 0;
int hight = array.length-1;
while(hight>=low){
int middle =(hight + low)/2;
if(array[middle]==value){
return middle;
}else if(array[middle] >value){
hight = middle-1;
}else {
low = middle+1;
}
}
return -1;
}
二分查找算法是在有序数组中用到的较为频繁的一种算法,在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,其时间为O(n).但二分查找算法则更优,因为其查找时间为O(lgn),