C 언어
이 튜토리얼에서 우리는 C++의 재귀 함수와 예제의 도움으로 작동에 대해 배울 것입니다.
자신을 호출하는 함수를 재귀 함수라고 합니다. 그리고 이 기술을 재귀라고 합니다.
<시간>
void recurse()
{
... .. ...
recurse();
... .. ...
}
int main()
{
... .. ...
recurse();
... .. ...
}
아래 그림은 자신을 계속해서 호출하여 재귀가 작동하는 방식을 보여줍니다.
<그림>재귀는 어떤 조건이 충족될 때까지 계속됩니다.
무한 재귀를 방지하기 위해 if...else 문(또는 유사한 접근 방식)을 한 분기에서 재귀 호출을 하고 다른 분기는 하지 않는 곳에 사용할 수 있습니다.
<시간>
// Factorial of n = 1*2*3*...*n
#include <iostream>
using namespace std;
int factorial(int);
int main() {
int n, result;
cout << "Enter a non-negative number: ";
cin >> n;
result = factorial(n);
cout << "Factorial of " << n << " = " << result;
return 0;
}
int factorial(int n) {
if (n > 1) {
return n * factorial(n - 1);
} else {
return 1;
}
}
출력
Enter a non-negative number: 4 Factorial of 4 = 24<시간>
보시다시피 factorial()
함수가 자신을 호출합니다. 그러나 각 호출 중에 n 값을 줄였습니다. 1
기준 . n일 때 1
보다 작습니다. , factorial()
함수는 궁극적으로 출력을 반환합니다.
다음은 C++에서 재귀를 사용할 때의 장단점입니다.
<시간>C 언어
파이썬 재귀 이 튜토리얼에서는 재귀 함수(자신을 호출하는 함수)를 만드는 방법을 배웁니다. 재귀란 무엇입니까? 재귀는 자체적으로 무언가를 정의하는 프로세스입니다. 물리적 세계의 예는 서로 마주하는 두 개의 평행 거울을 배치하는 것입니다. 그 사이에 있는 모든 객체는 재귀적으로 반영됩니다. 파이썬 재귀 함수 파이썬에서는 함수가 다른 함수를 호출할 수 있다는 것을 알고 있습니다. 함수 자체를 호출하는 것도 가능합니다. 이러한 유형의 구성을 재귀 함수라고 합니다. 다음 이미지는 recurse라는 재귀 함수의 작동을 보여줍니다.
자바 재귀 이 튜토리얼에서는 자바 재귀 함수, 장점과 단점에 대해 배울 것입니다. 자바에서 자신을 호출하는 메소드를 재귀 메소드라고 합니다. 그리고 이 과정을 재귀라고 합니다. 물리적 세계의 예는 서로 마주하는 두 개의 평행 거울을 배치하는 것입니다. 그 사이에 있는 모든 객체는 재귀적으로 반영됩니다. 재귀는 어떻게 작동합니까? 위의 예에서는 recurse() main 내부의 메소드 방법. (일반 메서드 호출). 그리고 recurse() 메서드 내에서 동일한 recurse 메서드를 다시 호출합니다. 재귀 호출입니다. 재