알고리즘
5주차 2, 재귀함수 개념
호놀롤루
2022. 1. 19. 22:26
def reculsion(num):
if num > 0:
print('현재', num)
reculsion(num-1)
print('과거', num)
reculsion(8)
결과
현재 8
현재 7
현재 6
현재 5
현재 4
현재 3
현재 2
현재 1
과거 0
과거 1
과거 2
과거 3
과거 4
과거 5
과거 6
과거 7
과거 8
재귀함수란 함수 내에서 자신을 다시 부르는 함수를 말한다.
reculsion(8)의 경우, 8이 0보다 크기에 현재를 출력한 후, 7을 넣고 다시 실행된다.
그리고 그 과정을 num이 0이 될 때까지 반복하고, num이 0보다 크지 않기에
과거와 숫자를 출력하고 함수는 끝난다.
하지만, 재귀함수를 호출한 이전 함수들이 끝나지 않았기에, 먼저 열린 함수부터 닫히면서,
처음 열린 reculsion(8)의 함수가 닫히는 순간 끝나게 된다.