algorism

재귀함수 알고리즘-STACK으로

풀스택 개발자 2020. 1. 10. 19:16

1.N의값을 3을 받는다 그러면 print(3)함수가 호출된다

2.num이 3이기때문에 else로 빠지고 print(3-1), 즉 print(2)가 호출된다 이때, print(3)-10라인까지 수행했다는것을 stack에 기록함

3.print(2)가 호출되고 if문을 넘고 else로빠져 print(2-1)즉 print(1)이 수행이때도 마찬가지로 print(2)-10라인까지 수행했다는것을 stack에 기록

4.print(1)가 호출되고 또 다시 print(1-1)즉 print(0)이 호출됨 마찬가지로 print(1)-10을 stack에 기록

5.print(0)호출후 return되고 함수로 종료됨

6.그후 수행하지 못한 즉 stack에 쌓여있는 함수들을 차곡차곡 하나씩 빼면서 수행해줌 

    1)print(1) ->1출력

    2)print(2) ->2출력

    3)print(3) ->3출력

     차례로 수행