Java之折半查询(二分法)
来源:互联网 发布:js undefined null 编辑:程序博客网 时间:2024/05/20 20:45
//普通折半查询
public static int binarySearch(int num, int[] arr) {
int min, mid, max;
min = 0;
max = arr.length - 1;
while (min <= max) {
mid = (min + max) / 2;
if (arr[mid] == num) {
return mid + 1;
} else if (num > arr[mid]) {
min = mid + 1;
} else {
max = mid - 1;
}
}
return -1;
}
//递归折半查询
public static int binarySearchByRecursion(int num, int[] arr, int min, int max) {
int mid;
if (min <= max) {
mid = (min + max) / 2;
if (arr[mid] == num) {
return mid + 1;
} else if (num > arr[mid]) {
return binarySearchByRecursion(num, arr, mid + 1, max);
} else {
return binarySearchByRecursion(num, arr, min, mid - 1);
}
}
return -1;
}
public static int binarySearch(int num, int[] arr) {
int min, mid, max;
min = 0;
max = arr.length - 1;
while (min <= max) {
mid = (min + max) / 2;
if (arr[mid] == num) {
return mid + 1;
} else if (num > arr[mid]) {
min = mid + 1;
} else {
max = mid - 1;
}
}
return -1;
}
//递归折半查询
public static int binarySearchByRecursion(int num, int[] arr, int min, int max) {
int mid;
if (min <= max) {
mid = (min + max) / 2;
if (arr[mid] == num) {
return mid + 1;
} else if (num > arr[mid]) {
return binarySearchByRecursion(num, arr, mid + 1, max);
} else {
return binarySearchByRecursion(num, arr, min, mid - 1);
}
}
return -1;
}
阅读全文
0 0
- Java之折半查询(二分法)
- java折半查找(二分法)
- 查找之折半二分法
- 二分法(折半)查找java实现
- 二分法(折半查找)
- 二分法(折半查找)
- 折半查找(二分法)
- 折半查找(二分法)
- 折半查找(二分法)
- 排序算法之二分法(折半)插入排序算法
- Java程序实现二分法查找(折半查找)算法
- 折半查找法(二分法)
- PHP二分法(折半查找)
- 折半查找(二分法 练习)
- 二分法查找(折半查找)
- 二分法查找[折半查找][Java实现]
- "二分法"-"折半法"-查找算法-之通俗易懂,图文+代码详解-java编程
- java 二分法查询
- Charles抓取http与https数据
- Java之冒泡排序
- 关于Karush-Kuhn-Tucker(KKT)条件的几何分析
- python生成pyc文件
- 用k近邻和logistic回归模型识别手写数字,并比较结果
- Java之折半查询(二分法)
- 高数08.04 一阶线性微分方程
- 事件绑定(事件处理程序)
- python的pip安装、setuptools安装
- Unity中构建现实世界中的地形(插件 World Composer)
- my常用命令集
- 直播系统源码有哪些需要注意?
- Mongodb字段更新$set操作符
- TestNG插件离线安装-eclipse