首頁  >  文章  >  Java  >  如何在Java的二分查找演算法中使用遞歸?

如何在Java的二分查找演算法中使用遞歸?

WBOY
WBOY轉載
2023-05-09 18:40:08843瀏覽

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刪除