재귀는 함수가 자신을 호출하는 기술로, 문제가 단계별로 해결되는 시나리오에서 널리 사용됩니다. C++에서 재귀는 다음과 같은 일반적인 용도로 사용됩니다. 피보나치 수 풀기 계승 계산 순열 및 조합 계산 트리 구조 순회 미로 해결 문제 해결
재귀는 컴퓨터입니다. 함수가 자신을 호출할 수 있도록 하는 과학 기술입니다. 단계별 문제 해결이 필요한 시나리오에서 널리 사용됩니다. 이 기사에서는 C++에서 재귀의 일반적인 용도를 살펴보고 실제 사례를 통해 설명합니다.
가장 간단한 재귀 사용법은 피보나치 수열을 찾는 것입니다. 이 시퀀스의 각 숫자는 이전 두 숫자의 합입니다. 구체적인 구현은 다음과 같습니다.
int fibonacci(int n) { if (n <= 1) { return 1; } else { return fibonacci(n - 1) + fibonacci(n - 2); } }
숫자의 계승을 찾는 것도 고전적인 재귀 응용 프로그램입니다. 계승은 해당 숫자에 그 숫자보다 작은 모든 양의 정수를 곱한 결과입니다.
int factorial(int n) { if (n == 0) { return 1; } else { return n * factorial(n - 1); } }
재귀를 사용하여 순열 및 조합을 계산할 수도 있습니다. 배열은 특정 순서에 따라 개체를 배열하는 방법인 반면, 조합은 순서에 관계없이 개체를 배열하는 방법입니다.
순열:
int permutations(int n, int r) { if (r == 0) { return 1; } else { return n * permutations(n - 1, r - 1); } }
조합:
int combinations(int n, int r) { if (r == 0 || n == r) { return 1; } else { return combinations(n - 1, r - 1) + combinations(n - 1, r); } }
재귀는 트리 및 그래프와 같은 트리 구조를 순회하는 데 널리 사용됩니다.
이진 트리 선주문 순회:
void preorderTraversal(TreeNode* root) { if (root != nullptr) { std::cout << root->val; preorderTraversal(root->left); preorderTraversal(root->right); } }
재귀를 사용하면 미로 해결 문제를 해결할 수 있습니다. 재귀 알고리즘은 출구 경로를 찾을 때까지 가능한 모든 경로를 시도하여 작동합니다.
아아아아위 내용은 C++ 함수의 재귀 구현: 재귀의 일반적인 용도는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!