알고리즘

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)의 함수가 닫히는 순간 끝나게 된다.