Skip to main content

꼬리 재귀 란 무엇입니까?

tail 재귀는 메소드가 호출되는 프로그래밍 메소드 호출 유형입니다. 그런 다음 즉시 두 번째 호출의 값을 반환합니다.다시 말해, 메소드 내부의 최종 문장이 동일한 메소드에 대한 또 다른 호출 일 때 꼬리 재귀가 발생합니다.두 번째 메소드 호출의 매개 변수는 일반적으로 첫 번째 매개 변수와 다르지만 필요하지 않습니다.이 재귀가 작동하기 위해서는 그 자체로 호출되는 방법은 숫자, 문자열 또는 다른 물체와 같은 구체적인 가치를 반환해야합니다.값을 반환하지 않는 void 메소드는 재귀에 적합하지 않습니다.제어 구조 내부에서 올바른 꼬리 재귀 호출을 찾을 수 있습니다. 즉, 소스 코드에서 제어 구조는 통화가 아닌 메소드를 종료 할 수 있습니다.이 경우의 중요한 차이점은 제어 구조가 프로그래밍 명령문이 아니라 컴퓨터 언어의 내장 부분이라는 것입니다.종종 이러한 재귀 호출은 루프, 루프 또는 GOTO 문과 같은 다른 수단을 사용하여 다시 작성할 수 있습니다.재귀의 유용성은 동일한 방법으로 많은 순차적 호출을 만들 때 발견됩니다.재귀는 종종 반복적 인 작업을 수행하는 가장 깨끗하고 쉬운 방법입니다.이 프로세스는 어느 숫자에서 시작하여, 곱하기 전의 모든 숫자로 인해 이상적입니다.따라서 5의 계승을 찾으려면 5*4*3*2*1을 곱하는 것이 적절한 과정입니다.재귀는 계승 방법이 구성되는 방식으로 인해 발생합니다. Factorial이 1 인 경우 1, 그렇지 않으면 메소드 마이너스 1에 주어진 숫자의 요인을 반환합니다.이 방법은 최종 메소드 호출 주위에 제어 명령문의 유무에 관계없이 어느 유형의 꼬리 재귀를 사용하여 동등하게 작성할 수 있기 때문에 유용합니다.

테일 리퍼션은 여러 유형의 재귀의 한 예일뿐입니다.모든 유형의 재귀의 개념은 본질적으로 동일하며, 어떤 방식으로는 방법이 스스로를 부릅니다.이러한 유형 중 꼬리 재귀의 구별은 재귀 호출의 값이 즉시 반환되고, 그 호출 후 호출 방법에서는 아무런 일이 발생하지 않는다는 것입니다.