折半查找-java实现
来源:互联网 发布:打车软件行业分析 编辑:程序博客网 时间:2024/05/16 07:27
二分查找又称折半查找,它是一种效率较高的查找方法。
【二分查找要求】:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。
/** * 二分查找又称折半查找,它是一种效率较高的查找方法。 【二分查找要求】:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。 * @author Administrator * */ public class BinarySearch { public static void main(String[] args) { int[] src = new int[] {1, 3, 5, 7, 8, 9}; System.out.println(binarySearch(src, 3)); System.out.println(binarySearch(src,3,0,src.length-1)); } /** * * 二分查找算法 * * * * @param srcArray * 有序数组 * * @param des * 查找元素 * * @return des的数组下标,没找到返回-1 */ public static int binarySearch(int[] srcArray, int des){ int low = 0; int high = srcArray.length-1; while(low <= high) { int middle = (low + high)/2; if(des == srcArray[middle]) { return middle; }else if(des <srcArray[middle]) { high = middle - 1; }else { low = middle + 1; } } return -1; } /** *二分查找特定整数在整型数组中的位置(递归) *@paramdataset *@paramdata *@parambeginIndex *@paramendIndex *@returnindex */ public static int binarySearch(int[] dataset,int data,int beginIndex,int endIndex){ int midIndex = (beginIndex+endIndex)/2; if(data <dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex){ return -1; } if(data <dataset[midIndex]){ return binarySearch(dataset,data,beginIndex,midIndex-1); }else if(data>dataset[midIndex]){ return binarySearch(dataset,data,midIndex+1,endIndex); }else { return midIndex; } } }
- 折半查找-java实现
- 使用Java实现折半查找
- 用java实现折半查找
- 二分法查找[折半查找][Java实现]
- 折半查找(二分查找)Java实现
- Java 实现二分查找\折半查找
- 二分查找(折半查找),Java实现
- Java 实现二分查找\折半查找
- java用递归实现折半查找法
- 二分法(折半)查找java实现
- 折半查找排序的java实现
- 【算法数据结构Java实现】折半查找
- 数据结构之折半查找java实现
- java 实现折半(二分)查找
- java实现有序数组的折半查找
- java实现常用的查找(线性查找,折半查找)
- Java 语言实现折半查找(二分查找)
- 算法--二分查找(折半查找)-Java实现
- mysql 用户登录密码忘记处理
- 正则表达式大全
- CEdit 详述
- 各位周末结束后都累了吧,那我们一起来看看【寒冬】的面试题吧(据说阿里的哟)
- HDU 4561 连续最大积
- 折半查找-java实现
- 第7部份:添加一个撤销堆栈
- URLConnection 详解
- python csv文件写操作
- ASP.NET MVC3 自动生成控制器和视图
- java.io.FileNotFoundException: class path resource [META-INF/xfire/services.xml] cannot be opened b
- Android 开发调试提示Android 无法选择设备 unknown
- 统计1到n中1的出现个数
- c++学习-->类