파이썬 재귀 예제

재귀 함수를 다룰 때, 각 재귀 호출에는 자체 실행 컨텍스트가 있으므로 재귀 중에 상태를 유지하려면 다음 중 하나를 수행해야합니다 : 동료 Pythonistas로서 우리는 모두 여기에 성인을 동의하지만 아이들은 더 나은 재귀의 아름다움. 그래서 잠시 여기 성인이 되지 않고 우리가 산타 클로스를 돕기 위해 재귀를 사용할 수있는 방법에 대해 이야기하자. 재귀 기능을 작성하기위한 두 가지 핵심 성분을 기억하십니까? 최종 목표는 뜨거운 주머니의 전체 접시를 먹는 것입니다, 당신은 반복해서 물린 복용하여이 작업을 수행. 각 물린 은 재귀 작용이며, 그 후에 다음에 동일한 행동을 취합니다. 접시에 뜨거운 주머니가 남지 않는 때까지 목표에 도달하기 위해 다른 것을 가져가야한다고 평가하면서 한 입 마다이 작업을 수행합니다. 이 섹션에서는 체계적으로 재귀 추적을 추적하는 방법을 알아봅니다. 다음 재귀 함수를 고려하십시오: 스택에서 재귀 함수를 나타내기 위해서는 이 표현이 필요하기 때문에 이 트리와 같은 표현을 먼저 보았습니다. 당신은 지금 볼 수 있습니다. 당신은 끝까지 그것을 만들었습니다. 이 자습서에서는 재귀 함수에 대한 광범위한 연구를 했습니다. 절대 기본부터 재귀 함수의 공간 및 시간 복잡성 분석에 이르기까지 모든 것을 다루었습니다.

또한 재귀가 특정 특성의 문제를 해결하는 데 어떻게 도움이 될 수 있는지도 보았습니다. 이제 재귀를 사용하여 문제(되풀이 관계 및 종료 조건)를 해결할 수 있어야 합니다. 재귀를 사용하여 범위 내에서 피보나치 번호를 찾는 문제를 해결할 수 있습니다. 원래 문제를 동일한 문제의 더 간단한 인스턴스로 분해합니다. 재귀 사례입니다: 재귀는 반복적으로 자신을 호출하여 큰 작업을 작은 작업으로 나누기 수 있게 합니다. 재귀 함수에는 실행을 중지하는 기본 케이스와 기본 케이스에 대한 함수로 점진적으로 연결되는 호출이 필요합니다. 나무에서 일반적으로 사용되지만 다른 함수는 재귀로 작성하여 우아한 솔루션을 제공할 수 있습니다. 파이썬 인터프리터 합계([10, 5, 2])와 sum_recursive([10, 5, 2])에서 둘 다 17을 제공해야 합니다. 이러한 종류의 그래프의 다른 예는 우리 주변에 있습니다. 도로 시스템은 예를 들어, 일부 거리는 한 가지 방법, 일부는 하지 않습니다. 또 다른 예는 인터넷의 낮은 수준의 인프라 (실제 하나), 그것은 라우터 및 기타 장치의 웹에 의해 결합 된 컴퓨터의 많은 구성되어 있습니다.

소셜 네트워크도 마찬가지입니다. 이러한 것들은 어디에나 있습니다. 파이썬 (많은 언어와 마찬가지로)은 일종의 스택을 유지합니다. 그것은 대신 접시의 스택 기능 호출의 스택입니다. 나는 한 번 인터뷰에서 재발을 설명하라는 요청을 받았다. 나는 종이를 가져 와서 양쪽에 뒤집어 주세요 썼다. 면접관은 농담을하지 않았다, 하지만 당신은이 기사를 읽은 지금, 잘하면 당신은 행복 파이썬🙂 할! 함수가 `hi`를 인쇄한 후 0에 도달할 때까지 남은 값이 더 낮은 값으로 자신을 호출합니다.