피보나치를 사용하지 않고 PHP의 재귀 함수를 일반인의 용어와 예제를 사용하여 설명할 수 있는 사람이 있나요? 예시를 보고 있는데 피보나치가 완전히 이해가 안 되네요!
미리 감사드립니다 ;-) 또한 웹 개발에 얼마나 자주 사용하시나요?
한 가지 예는 특정 디렉터리의 하위 디렉터리에 있는 모든 파일을 인쇄하는 것입니다(해당 디렉터리에 심볼릭 링크가 없으면 어떤 방식으로든 기능이 중단될 수 있습니다). 모든 파일을 인쇄하는 의사 코드는 다음과 같습니다.
모든 하위 디렉터리를 먼저 인쇄한 다음 현재 디렉터리의 파일을 인쇄하는 것이 아이디어입니다. 이 아이디어는 모든 하위 디렉터리에 적용되므로 이 함수가 모든 하위 디렉터리에 대해 반복적으로 호출됩니다.
이 예제를 시도하려면 특수 디렉토리를 확인해야 합니다. 和 ..,否则你会陷入调用 printAllFiles(". ") 一直如此。此外,您必须检查要打印的内容以及当前的工作目录是什么(请参阅opendir()、getcwd()...).
.
..
printAllFiles(". ")
opendir()
getcwd()
재귀 함수는 자기 자신을 호출하는 함수입니다
함수가 계속 자신을 호출하는 경우 언제 중지해야 하는지 어떻게 알 수 있나요? 기본 사례라는 조건을 설정합니다. 기본 사례는 재귀 호출을 언제 중지해야 하는지 알려줍니다. 그렇지 않으면 무한 반복됩니다.
저에게 배울 수 있는 좋은 예는 Factorial一个>입니다. 아래 댓글을 보면 계승 함수가 좀 과한 것 같으니 필요할 경우를 대비해 여기에 남겨 두겠습니다.
웹 개발에서 재귀 함수를 사용하는 것과 관련하여 저는 개인적으로 재귀 호출을 사용하지 않습니다. 재귀에 의존하는 것이 나쁜 습관이라고 생각하지는 않지만 이것이 첫 번째 선택이 되어서는 안 됩니다. 잘못 사용하면 치명적일 수 있습니다.
목차 예시와 비교할 수는 없지만 이것이 도움이 되기를 바랍니다.
재귀 함수의 작동 방식을 일반인의 용어로 보여주는 허용된 답변인 이 질문을 확인하는 것도 도움이 됩니다. OP의 질문이 Java와 관련되어 있더라도 개념은 동일합니다.
한 가지 예는 특정 디렉터리의 하위 디렉터리에 있는 모든 파일을 인쇄하는 것입니다(해당 디렉터리에 심볼릭 링크가 없으면 어떤 방식으로든 기능이 중단될 수 있습니다). 모든 파일을 인쇄하는 의사 코드는 다음과 같습니다.
으아악모든 하위 디렉터리를 먼저 인쇄한 다음 현재 디렉터리의 파일을 인쇄하는 것이 아이디어입니다. 이 아이디어는 모든 하위 디렉터리에 적용되므로 이 함수가 모든 하위 디렉터리에 대해 반복적으로 호출됩니다.
이 예제를 시도하려면 특수 디렉토리를 확인해야 합니다
.
和..
,否则你会陷入调用printAllFiles(". ")
一直如此。此外,您必须检查要打印的内容以及当前的工作目录是什么(请参阅opendir()
、getcwd()
...).평신도 용어:
재귀 함수는 자기 자신을 호출하는 함수입니다
조금 더 자세히 알아보세요:
함수가 계속 자신을 호출하는 경우 언제 중지해야 하는지 어떻게 알 수 있나요? 기본 사례라는 조건을 설정합니다. 기본 사례는 재귀 호출을 언제 중지해야 하는지 알려줍니다. 그렇지 않으면 무한 반복됩니다.
저에게 배울 수 있는 좋은 예는 Factorial一个>입니다. 아래 댓글을 보면 계승 함수가 좀 과한 것 같으니 필요할 경우를 대비해 여기에 남겨 두겠습니다.
으아아아웹 개발에서 재귀 함수를 사용하는 것과 관련하여 저는 개인적으로 재귀 호출을 사용하지 않습니다. 재귀에 의존하는 것이 나쁜 습관이라고 생각하지는 않지만 이것이 첫 번째 선택이 되어서는 안 됩니다. 잘못 사용하면 치명적일 수 있습니다.
목차 예시와 비교할 수는 없지만 이것이 도움이 되기를 바랍니다.
(10/4/20) 업데이트:
재귀 함수의 작동 방식을 일반인의 용어로 보여주는 허용된 답변인 이 질문을 확인하는 것도 도움이 됩니다. OP의 질문이 Java와 관련되어 있더라도 개념은 동일합니다.