재귀란 무엇입니까
재귀는 프로그래밍 언어에서 알고리즘으로 널리 사용됩니다. 작업 중에 함수/프로세스/하위 프로그램이 자신을 직접 또는 간접적으로 호출하여 발생하는 재진입 현상을 말합니다.
재귀 알고리즘은 일반적으로 세 가지 유형의 문제를 해결하는 데 사용됩니다.
a. 데이터의 정의는 재귀적으로 정의됩니다. (피보나치(Fibonacci) 함수)
b. 문제 해결은 재귀 알고리즘으로 구현됩니다. (역추적)
c. 데이터의 구조적 형태는 재귀적으로 정의됩니다. (트리 순회, 그래프 검색)
학습 영상 튜토리얼 공유: java 교육 영상
예:
순열의 예입니다. 문자열의 모든 요소를 입력하고 출력하는 것입니다.
For 예: 제공한 매개변수가 "abc"인 경우 프로그램은 다음을 출력합니다: abc acb bac bca cab cba a
알고리즘의 종료는 low=highhigh입니다. 즉, 지금 주어진 배열 요소가 하나만 있는 경우입니다.
알고리즘의 근사 과정: 먼저 루프에서 i로 표시되는 요소인 배열의 첫 번째 요소를 결정한 다음 low+1이 배열 요소를 줄이기 시작하는 식으로 low = high가 될 때까지 계속됩니다
예제는 다음과 같습니다.
public class Foo { public static void main(String[] args) { permute(“abc”); } public static void permute(String str) { char[] strArray = str.toCharArray(); permute(strArray, 0, strArray.length – 1); } public static void permute(char[] list, int low, int high) { int i; if (low == high) { String cout = “”; for (i = 0; i <= high; i++){ cout += list[i]; System.out.println(cout); } }else { for (i = low; i <= high; i++) { char temp = list[low]; list[low] = list[i]; list[i] = temp; permute(list, low + 1, high); temp = list[low]; list[low] = list[i]; list[i] = temp; } } } }
관련 기사 튜토리얼 추천: 자바 프로그래밍 입문
위 내용은 자바에서 재귀란 무엇인가?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!