Java 数据结构 - 二分查找
二分查找是一种快速的搜索算法,其运行时复杂度为 Ο(log n)。这种搜索算法基于分治的原理。为了使该算法正常工作,数据集合应该以排序的形式存在。
二分查找通过比较集合中最中间的项来查找特定项。如果匹配成功,则返回该项的索引。如果中间项大于该项,则在中间项左侧的子数组中搜索该项。否则,在中间项右侧的子数组中搜索该项。此过程继续在子数组上进行,直到子数组的大小减小到零。
示例
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
广告