UXDE dot Net Wordpress Themes

파이썬 재귀함수 예제

함수 A()가 자체적으로 호출되는 것을 볼 수 있습니다. 이것은 재귀의 예이며 A()는 재귀 함수입니다. 우리는 치즈() 그래서 치즈()가 콜 스택에 밀려나도록 합니다. 파이썬은 치즈에 실행하기 시작하고 치즈는 호출 스택에 앵무새를 추가합니다. 그래서 파이썬은 무엇을하고 있는지 삭제하고 앵무새를 처리하기 시작합니다. 앵무새로 완료되면, 앵무새는 스택에서 제거됩니다. 그것은 치즈로 돌아와 완료 될 때까지 계속됩니다. 치즈는 다음 스택에서 튀어. 순진하게 제 9 피보나치 수의 재귀 정의를 따르는 것은 다소 비효율적이였다. 위의 출력에서 볼 수 있듯이, 우리는 불필요 하 게 다시 계산 값입니다.

각 피보나치 계산 Fk의 결과를 캐싱하여 fibonacci_recursive를 개선해 보겠습니다: 이것은 재귀 알고리즘의 전형적인 구조입니다. 현재 문제가 간단한 경우를 나타내는 경우 해결합니다. 그렇지 않은 경우 하위 문제로 나누고 동일한 전략을 적용합니다. 이제 일반적으로 루프의 진정한 종류 동안 당신은 몇 가지 깨는 조건을해야합니다. 예를 들어 파이썬에서 함수는 자체를 호출하고 종료 조건이 있는 경우 재귀적입니다. 왜 종료 조건이 있습니까? 함수가 광고 무한대라고 부르는 것을 중지합니다. 빈 목록과 attach_head 작업을 사용하여 모든 목록을 생성할 수 있습니다. 예를 들어 [1, 46, -31, “hello”]를 생성해 보겠습니다: 파이썬에 대해 자세히 알아보려면 DataCamp의 무료 데이터 과학 강좌를 파이썬으로 가져 가십시오.

재귀와 요인수의 수학적 정의는 다음과 같은 것입니다! = n * (n-1)!, n > 1 및 f (1) = 1인 경우. 예: 3! = 3 x 2 x 1 = 6. 재귀 함수를 사용하여 파이썬에서 이를 구현할 수 있습니다: 소개에서 설명한 것처럼 재귀는 정의에서 자체 호출하는 프로세스를 포함합니다. 재귀 함수에는 일반적으로 두 가지 구성 요소가 있습니다. 이전과 마찬가지로 스택의 변경 내용을 살펴보겠습니다. DataCamp는 파이썬의 근시 분석에 대한 훌륭한 기사를 가지고 있으며이 섹션을 읽기 전에 확인하는 것이 좋습니다. 함수의 공간 및 시간 분석(공간 복잡성 및 시간 복잡성이라고도 함)의 의미를 빠르게 요약해 보겠습니다. 혼란의 한 가지 가능한 포인트는 목록 이해의 사용이다. 당신은 루프 압축으로 생각할 수 있습니다. 코드를 훨씬 간결하게 만드는 데 사용할 수 있습니다. 다음 종료 메커니즘은 마지막 예제에서 말하는 것과 유사합니다. 실제 재귀는 여기에서 발생합니다 : 9 번째 피보나치 번호를 계산하는 재귀 함수를 작성해 보겠습니다 : 이제 파이썬은 상단 프레임을 다루고 foo를 다시 호출합니다.