/**
* @param data 从小到大排好序的数组
* @param goal 要查找的数
* @param left
* @param right
* @return 目标数的数组下标,没有找到为-1 ;
*/
public static int find(int[] data,int goal,int left,int right){
int mid = (left+right)/2 ;
if(left>right){
return -1 ;
}
if(goal==data[mid]){
return mid ;
}
else if(goal<data[mid]){
//注意right = mid -1 ;
return find(data,goal,left,mid-1);
}
else if(goal>data[mid]){
return find(data,goal,mid+1,right);
}
return -1 ;
}
public static void main(String[] args){
int[] data = new int[]{1,2,4,6,7};
int result =find(data,6,0,data.length-1) ;
System.out.println(result);
}
分享到:
相关推荐
Java二分查找递归算法
Java 二分查找算法的示例代码。 欢迎访问个人博客。 http://blog.csdn.net/evanwang1987
二分查找算法,二分查找算法课件,二分查找算法PPT
java二分查找算法,用于普通的代码算法。。,。。
二分查找算法
在这个教程中,我们将深入研究二分查找算法的工作原理,并提供一个Java示例来演示如何实现它。无论您是初学者还是有经验的Java开发者,通过学习这个算法,您将获得一个强大的搜索工具,有助于在大型有序数据集中快速...
二分查找算法是查找算法中的一种效率比较高的查找算法,对于一段数组或者字符串的查找,效率可以更高。
C 语言中效率最高的查找方式,非常实用。...函数功能: 二分查找 入口参数: 待查找有序表的首地址 int *a 待查找的数据 int num 出口参数: 查找成功返回数据在有序表中的位置0 ~ n-1,不成功返回 -1
多次二分查找算法的优化 方案,并且编写自动化测试程序,对其性能进行测试。
//文件名:exp9-2.cpp #include #define MAXL 100 //定义表中最多记录个数 typedef int KeyType; typedef char InfoType[10]; typedef struct { KeyType key;
主要介绍了Java实现二分查找算法,实例分析了二分查找算法的原理与相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
二分查找算法二分查找算法.txt
该工具包含有Java一些比较常见的排序算法和查找算法。 排序算法包括:冒泡排序、选择排序 、插入排序、希尔排序、快速排序、归并排序、基数...查找算法包括:线性查找、二分查找、插值查询、斐波那契(黄金分割法)、
分别用递归和非递归方法实现二分查找算法 的完整程序,indexof()返回的是循环实现的二分法查找,getindex()实现的是递归算法实现的二分法查找。
分治法实现二分查找算法实现 分治法实现二分查找算法实现 分治法实现二分查找算法实现
winform 二分查找算法源码! 很值得下载看看!资源免费,大家分享!!