Java程序实现二进制搜索
二进制搜索是一种运行时间复杂度为O(logn)的快速搜索算法。这种搜索算法基于分而治之的原理。为了使该算法正常工作,数据收集应采用排序形式。
二进制搜索通过比较集合中最中间的项来查找特定项。如果发生匹配,则返回该项目的索引。如果中间项目大于该项目,则在中间项目左侧的子数组中搜索该项目。否则,将在中间项目右侧的子数组中搜索该项目。该过程也将在子数组上继续进行,直到子数组的大小减小到零为止。
示例
public class BinarySearch {
public static void main(String args[]){
int array[] = {10, 20, 25, 57, 63, 96};
int size = array.length;
int low = 0;
int high = size-1;
int value = 25;
int mid = 0;
mid = low +(high-low)/2;
while(low<=high){
if(array[mid] == value){
System.out.println(mid);
break;
}
else if(array[mid]<value)
low = mid+1;
else high = mid - 1;
}
mid = (low+high)/2;
}
}输出结果
2
热门推荐
10 医院探望朋友祝福语简短
11 毕业祝福语简短女朋友
12 春节虎年爸妈祝福语简短
13 儿童毕业祝福语 简短6
14 开工仪式横幅祝福语简短
15 孩子日常祝福语大全简短
16 清晨寄语诗句祝福语简短
17 结婚送亲认亲祝福语简短
18 虎年喝酒拜年祝福语简短