> Java > java지도 시간 > Java의 이진 검색 알고리즘에서 재귀를 사용하는 방법은 무엇입니까?

Java의 이진 검색 알고리즘에서 재귀를 사용하는 방법은 무엇입니까?

WBOY
풀어 주다: 2023-05-09 18:40:08
앞으로
879명이 탐색했습니다.

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿