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 중국어 웹사이트의 기타 관련 기사를 참조하세요!