>  기사  >  Java  >  자바에서 재귀란 무엇인가?

자바에서 재귀란 무엇인가?

王林
王林원래의
2019-12-05 15:13:123045검색

자바에서 재귀란 무엇인가?

재귀란 무엇입니까

재귀는 프로그래밍 언어에서 알고리즘으로 널리 사용됩니다. 작업 중에 함수/프로세스/하위 프로그램이 자신을 직접 또는 간접적으로 호출하여 발생하는 재진입 현상을 말합니다.

재귀 알고리즘은 일반적으로 세 가지 유형의 문제를 해결하는 데 사용됩니다.

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.