자체를 호출하는 함수는 재귀 함수로 알려져 있습니다. 그리고,이 기술은 재귀로 알려져 있습니다.
재귀는 어떻게 작동합니까?
void recurse(){ ... .. ... recurse(); ... .. ...}int main(){ ... .. ... recurse(); ... .. ...}
재귀 때까지 계속되는 일부 조건을 만족을 방지합니다.
무한 재귀를 방지하기 위해,만약…else 문(또는 유사한 접근법)은 한 분기가 재귀 호출을 수행하고 다른 분기는 그렇지 않은 곳에서 사용할 수 있습니다.,
예:합계는 자연의 번호를 사용하여 재귀
출력
Enter a positive integer:3sum = 6
처음에는sum()
에서 호출한main()
기능으로 번호를 인수로 전달됩니다.
가정,내부 n 의 값sum()
는 처음에 3 입니다. 다음 함수 호출 중에 2 는sum()
함수로 전달됩니다. 이 프로세스는 n 이 0 과 같을 때까지 계속됩니다.,
n0,if
조건이 실패하고else
부분은 실행 돌아 정수의 합으로 궁극적으로는main()
기능이다.
재귀의 장점과 단점
재귀는 프로그램을 우아하게 만듭니다. 그러나 성능이 중요한 경우 재귀가 일반적으로 훨씬 느리기 때문에 대신 루프를 사용하십시오.
즉,재귀는 중요한 개념입니다. 데이터 구조 및 알고리즘에 자주 사용됩니다., 예를 들어 트리 순회와 같은 문제에서 재귀를 사용하는 것이 일반적입니다.피>