프로그램 자체 호출 프로그램의 프로그래밍 기술을 재귀라고합니다. 재귀는 프로그래밍 언어의 알고리즘으로 널리 사용됩니다. 프로세스 또는 기능에는 정의 또는 설명에서 직접 또는 간접적으로 호출하는 방법이 있습니다. 일반적으로 크고 복잡한 문제 레이어를 레이어별로 변환하여 원래 문제와 유사한 작은 문제로 변환합니다. 재귀 전략은 문제 해결 프로세스에 필요한 다중 반복 계산을 설명하기 위해 소수의 프로그램 만 필요하며 프로그램의 코드 양을 크게 줄입니다. 재귀의 능력은 무한한 객체 세트를 정의하기 위해 유한 한 진술을 사용하는 데 있습니다. 일반적으로, 재귀는 경계 조건, 재귀 사전 세그먼트 및 재귀 반환 세그먼트가 필요합니다. 경계 조건이 충족되지 않으면 재귀 적으로 진행하십시오. 경계 조건이 충족되면 재귀 적으로 반환하십시오. - 이것은 Baidu 백과 사전이 말한 것입니다.
실제로, 그것을 무뚝뚝하게 말하면, 그것은 자체를 호출하는 재귀 방법 자체에 의해 수행되는 작업입니다. 이 예를 설명하기위한 예를 들어 매우 유명한 Fibonacci 시퀀스입니다.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368…
첫 두 숫자를 추가하여 세 번째 숫자가 얻어진다는 것을 알 수 있습니다.
이것이 일반 루프를 사용한다면 의미하는 바입니다.
public class feibo {public static void main (String [] args) {int num1 = 0; int num2 = 1; int numn = 1; int n = 10; for (int i = 3; i <= n; i ++) {numn = num1+num2; num1 = num2; num2 = numn; } system.err.println (n+"result :"+numn); }}작동 결과는 다음과 같습니다.
10 숫자의 결과는 34입니다
이것은 재귀를 사용하는 경우 작동에 일반 루프 방법을 사용하는 것입니다.
public static int Recursion (int n) {if (n == 1) {return 0; } if (n == 2) {return 1; } 반환 재귀 (N-1)+재귀 (N-2); }재귀는 종말 조건을 요구하며, 경우 재귀는 계속해서 전화를 걸어 재귀를 종식시킬 필요가 없습니다. 위의 사례의 종료 조건은 n = 1 또는 2 일 때 재귀 메소드 자체를 계속 호출하는 대신 0 또는 1을 반환한다는 것입니다.
재귀를위한 두 가지 주요 조건은 자신을 부르고 재귀를 끝내는 것입니다.
재귀는 스스로 호출되기 때문에 많은 자원을 낭비하고, 실행 시간이 루프보다 훨씬 길고, 실행 시간이 느리고 효율성이 낮습니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.