java 二分法查找实现
来源:互联网 发布:中国企业数据库 编辑:程序博客网 时间:2024/05/17 08:26
实现二分法主要有一下两种:
while循环和递归。
package interview201505;
public class BinarySearch {
/**
* 二分查找算法
* while循环
*/
public static int binarySearch(int[] data, int find){
int low = 0;
int high = data.length-1;
while(low < high){
int mid = (low +high)/2;
if(find < data[mid]){
high = mid;
}else if(find > data[mid]){
low = mid;
}else if(find == data[mid]){
return mid;
}
}
return -1;
}
/**
* 二分法使用递归
*
*/
public static int binarySearch2(int[] data, int find,int low,int high){
int mid = (low+high)/2;
if(data[mid] < find){
return binarySearch2(data,find,mid+1,high);
}else if(data[mid] > find){
return binarySearch2(data,find,low,mid-1);
}else if (data[mid] == find){
return mid;
}
return -1;
}
public static void main(String[] args){
int[] data = {1,2,3,4,5,6,7};
System.out.println(binarySearch(data, 6));
System.out.println(binarySearch2(data, 6, 0, 6));
}
}
0 0
- JAVA 二分法查找实现
- JAVA 二分法查找实现
- java实现二分法查找
- java实现二分法查找
- Java实现二分法查找
- Java 实现二分法查找
- java 二分法查找实现
- Java实现二分法查找
- 二分法查找JAVA实现
- 二分法查找 JAVA实现
- Java二分法查找实现
- 二分法查找[折半查找][Java实现]
- 实现二分法查找——java实现
- 用java实现二分法快速查找例程
- 二分法(折半)查找java实现
- java二分法查找两种实现方法
- java数组实现二分法查找算法
- Java实现二分法查找数组中的元素
- 机试题:查找基因序列问题
- JetBrain WebStorm 注册码
- Android 你应该知道的学习资源 进阶之路贵在坚持
- PHP mySQL编码
- ZOJ 3878 Convert QWERTY to Dvorak
- java 二分法查找实现
- sphinx支持中文检索(安装coreseek)
- 7.zookeeper原理解析-序列化之底层通信数据封装与操作
- android-ListView(1)-listview概览
- 设计初学常犯的错误
- sphinx mysql 增量索引
- 学习ASP.NET MVC5框架揭秘笔记-IIS/ASP.NET管道(一)
- javascript instanceof
- list排序,如果A字段相同,则以B字段进行排序