재귀 전화 란 무엇입니까?
프로그래밍에서 재귀 호출은 서브 루틴 또는 기능 내에서 명령으로 프로그램에 동일한 서브 루틴을 다시 실행하도록 지시합니다. 반복 성능은 함수의 직접적인 결과 일 수 있거나 두 번째 함수가 트리거 될 수 있으며, 차례로 첫 번째 함수를 참조합니다. 재귀 호출은 끔찍한 무한 루프와 약간의 유사성을 가지고 있지만 서브 루틴은 항상 재귀 반복을 중단 할 때 프로그램을 알려주는 조건부 진술이 있습니다.
재귀 개념은 아마도 예를 사용하여 가장 잘 설명 될 것입니다. 루퍼가 집에 새로운 대상 포진을 바르고 있다고 가정 해 봅시다. 시작하려면 지붕에 대상 포진 묶음을 가지고 있어야합니다. 그가 첫 번째 번들을 제자리에 못 박았을 때, 그는 사다리를 내려 가서 다른 번들을 회수하고 제자리에 못 박아야합니다. 프로세스는 마지막 지붕 널이 적용될 때까지 일련의 "Go, Fetch, Return"으로 계속됩니다. 그 시점에서 루퍼는 다음 직장으로 이동하거나 집으로 돌아갈 수 있습니다.
예제 i.과도 단순화에는 재귀 호출의 모든 요소가 포함되어 있습니다. 출발점이 있습니다. 루퍼는 필요한 것을 회수하고 시작으로 돌아와서 최종 조건이 충족되면 중지해야합니다. 이것은 기본적으로 프로그램이하는 일입니다. 시작하고 행동을 구현하고, 그 자체로 돌아와서 결말 조건이 발생할 때 종료됩니다.
결말 조건을 기본 케이스라고합니다. 모든 재귀 호출에 필수적입니다. 그것 없이는 기능이 계속 반복됩니다. 기껏해야 시스템의 메모리 리소스를 소모합니다. 일반적으로 과부하는 어느 시점에서 프로그램에 충돌하지만 문제가 발견되면 상당한 손상이 발생할 수 있습니다.
숙련 된 프로그래머는 재귀 호출과 "for"또는 "동안"루프 사이의 유사성을 인식 할 수 있습니다. 예를 들어, 목표는 부품 N이있는 모든 주식의 총 재고 수를 찾는 것입니다.999보다 큰 Umbers, A "루프는 프로그램에 모든 적격 인스턴스를 찾도록 지시하고"루프 "는 명시된 조건이 유효한 동안 프로그램에 루프를 실행하라고 지시합니다. 재귀적인 호출은 이러한 루프의 일부 기능을 "if-then-else"진술과 결합한다고 말할 수 있습니다. 이 조건이 참이라면이 작업을 수행하거나 조건이 False 인 경우 다른 작업을 수행하십시오. 재귀는 일반적으로보다 컴팩트 한 코드를 허용하며, 필요한 지점에 가까운 기능에 문제를 전달할 수 있습니다.