JAVA学习笔记----二分查找递归

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA学习笔记----二分查找递归相关的知识,希望对你有一定的参考价值。

public class Main{
    public static int rank(int key, int[] a){
        return rank(key,a, 0 ,a.length -1 );
    }
    public static int rank(int key, int[] a, int lo , int hi){
        if (lo > hi){System.out.println(" 找不到 ");return -1;}
        System.out.println(String.format("max index is ->%s",hi));
        int mid = lo + (hi - lo)/2;
        System.out.println(String.format("index is -> %s",mid));
        if (key < a[mid]){ System.out.println(String.format("%s is less than %s",key,a[mid])); return rank(key, a, lo ,mid-1); }
        else if (key > a[mid]){System.out.println(String.format("%s is more than %s",key,a[mid])); return rank(key,a, mid+1,hi);}
        else {System.out.println(String.format("%s matched %s ----------> index %s!!!",key,a[mid],mid));return mid;}
    }

    public static void main(String args[]){
       int[] a = {1,2,3,4,5,6,43534,534535,1231,313,53,5,21312,3,123,123,12321,312312,31,24,5,34,6,7,353,5423,42,424,234,1321,34,43,6457,4} ;
       rank(100,a);
       rank(5,a);
    }
}


以上是关于JAVA学习笔记----二分查找递归的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记:二分法查找的递归和非递归两种算法

数据结构与算法学习笔记 查找

数据结构与算法学习笔记 查找

学习数据结构笔记 ---查找算法(线性查找,二分查找,插值查找,斐波那契查找)

二分查找学习笔记

1算法学习笔记(概念性了解)