재귀함수의 호출 (+ 스택)CS2022. 7. 11. 16:50
Table of Contents
728x90
def DFS(x):
if x > 0:
DFS(x - 1)
print(x, end=' ')
if __name__ == "__main__":
n = int(input())
DFS(n)
다음과 같은 간단한 재귀함수가 있을 때 함수가 호출되어 리턴되는 순서는 다음과 같다.
DFS(3) → DFS(2) → DFS(1) → DFS(0)
DFS(0)은 x > 0을 만족하지 못하므로 종료되고 DFS(1)로 복귀한 후 stack 메모리에서 할당 해제된다.
이후 DFS(1)은 함수 내의 print()를 실행한뒤 DFS(2)로 복귀한다.
DFS(2)도 마찬가지로 하단의 print()를 실행한뒤 DFS(3)으로 복귀한다.
DFS(3)은 print()를 실행한뒤 처음 호출했던 main() 함수의 DFS()으로 복귀한다.
728x90
'CS' 카테고리의 다른 글
CS 기술 면접 다수 기출 키워드 (0) | 2022.07.19 |
---|
@TTOII :: 뭉게뭉게 클라우드
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!