0%

查找算法-二分查找

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素有序排列。

二分查找

Implementation:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static int binaySearch(int[] data, int des){
int start = 0;
int end = data.length-1;
while(start <= end){// end = -1时打破循环
int middle = (end +start) >>> 1;// 右移一位,相当于/2
if (des == data[middle]){
return middle;

} else if (des < data[middle]){
end = middle - 1;

} else {
start = middle+1;
}
}
return -1;
}