您的位置:首页 > 编程语言 > Java开发

二分搜索算法(Java代码实现)

2018-03-06 19:03 190 查看

二分搜索算法(Java代码实现)


(1)判断是否适合分治法实现


(2)实现二分搜索的Java代码如下:
public class Main {

public static void main(String[] args) {
int[] arr = { 11, 22, 33, 44, 55, 66, 77 };
int index1 = Binary(arr, 12, 0, arr.length - 1);
int index2 = Binary(arr, 66, 0, arr.length - 1);
System.out.println(index1);
System.out.println(index2);
}

/**
* 搜索指定要搜索元素在数组中是索引
*
* @param arr:要二分搜索的数组
* @param key:要查找的关键字
* @param low:起始索引
* @param high:结尾索引
* @return:若搜索到这个元素,则返回数组的索引下标;否则返回-1
*/
public static int Binary(int[] arr, int key, int low, int high) {
while (low <= high) {
int mid = (low + high) / 2;
if (arr[mid] > key) {
high = mid - 1;
} else if (arr[mid] < key) {
low = mid + 1;
} else {
return mid;
}
}
return -1;
}

}
(3)运行结果:



(4)复杂度分析:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: