java 实现二分查找法
来源:互联网 发布:赛车网络手游 编辑:程序博客网 时间:2024/06/16 00:06
二分查找又称折半查找,它是一种效率较高的查找方法。
【二分查找要求】: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;
- }
- }
- }
0 0
- java 实现二分查找法
- java 实现二分查找法
- java 实现二分查找法
- java 实现二分查找法
- 二分查找法-java实现
- java 实现二分查找法
- java 实现二分查找法
- 二分查找法---java实现
- java 实现二分查找法
- 二分查找法java实现
- Java实现二分查找法
- java实现二分查找法
- java 实现二分查找法
- Java实现 二分查找
- Java实现二分查找
- java实现二分查找
- java实现二分查找
- Java二分查找实现
- <开发笔记>HLS协议下多源同时切片
- pause()与sigsuspend()的用法
- jQuery插件收藏
- LeetCode 27 : Remove Element
- hive安装配置
- java 实现二分查找法
- 自定义控件--让背景颜色随ViewPager的滑动而渐变
- LinearLayout + TextView 树形菜单
- linux下的dhcp服务的完全配置(图文详解)
- DOM
- Membership Role Profile设置配置文件
- VS2008SP1无法安装
- iOS判断邮箱,手机号,车牌号,车型,用户名,密码,昵称,身份证号,是否有效
- Java算法分析1—————寻找数组相同元素