首页 > Java > java教程 > 如何在Java的二分查找算法中使用递归?

如何在Java的二分查找算法中使用递归?

WBOY
发布: 2023-05-09 18:40:08
转载
886 人浏览过

1.递归概念

程序调用自身的编程技巧称为递归。将大规模的问题变成小规模的问题,问题不变,规模变小。

2.两个前提

终止条件——当一定条件满足时,函数返回特定值,不再递归调用

递归调用——函数调用自身,其输入值更接近终止条件

3.二分查找的递归实例

/**
     * 递归实现二分查找
     * @param arr
     * @param left
     * @param right
     * @param val
     * @return
     */
private static int binarySearch(int[] arr, int left, int right, int val) {
        if (val < arr[left] || val > arr[right] || left > right) {
            return -1;
        }
        int middle = (left + right)/2;
        if(val < arr[middle]){
            return binarySearch (arr,0,middle-1,val);
        }
        if(val > arr[middle]){
            return binarySearch (arr,middle+1,right,val);
        }else{
            return middle;
        }
}
登录后复制

以上是如何在Java的二分查找算法中使用递归?的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:yisu.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板