ホームページ  >  記事  >  Java  >  Java の二分探索アルゴリズムで再帰を使用するにはどうすればよいですか?

Java の二分探索アルゴリズムで再帰を使用するにはどうすればよいですか?

WBOY
WBOY転載
2023-05-09 18:40:08786ブラウズ

1. 再帰の概念

プログラムが自分自身を呼び出すプログラミング手法は、再帰と呼ばれます。大規模な問題を小規模な問題に変える。問題は同じままで、規模は小さくなります。

2. 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。