二分查找,是一种在特定环境下较为快速的查找方法,为什么这样说呢,以为二分查找的依赖性很强,非常依赖线性表的数据结构,就是数组,因为我们是靠下标来查找数据的。其次,这个数组还要是单调的,即要么递增,要么递减,这样才能够实现二分查找,当满足这些条件后,我们在进行二分查找,就能够在非常小的时间复杂度内查找到需要的数据。
下面是一个二分查找,我们背出来,理解一下就行。
public int biarySearch(int[] arr,int value) {
int low =0, high = arr.length -1;
while (low <= high) {
int mid = low + ((high - low) >>1);
if (arr[mid] == value) {
return mid;
}else if (arr[mid] < value) {
low = mid +1;
}else {
high = mid -1;
}
}
return -1;
}
网友评论