재귀함수 관련 문제중 입력한 n부터 1까지 출력하는 문제와, 1부터 n까지 출력하는 문제를 풀다가
깨닫게된 원리가 있다..!
컴퓨터가 명령을 실행 하다 함수안에서 함수를 부르는, 즉 재귀함수를 만나면
다시 함수의 처음으로 가면서 그 값을 저장하는데,
이때, 재귀함수는 '스택'이라 불리는 원리로 값이 저장된다
스택(stack)은 데이터가 들어오는 그대로 쌓으면서 저장하는 기억 공간이다.
출력할 때에는 제일 위에 있는 데이터, 즉 제일 늦게 들어온 데이터부터 출력을 해주는게 스택이다.
이러한 스택을 선입후출 이라고도 부른다.
그래서 n부터 1까지 출력하는 문제를 풀 때엔
저장을 1부터 1만큼씩 늘려서 n까지 저장해준 후,
스택원리로 가장 늦게 저장된 n부터 출력이 되는것이고
1부터 n까지 출력하는 문제를 풀 때엔
저장을 n부터 1만큼씩 줄여서 1까지 저장해준 후,
이 또한 스택원리로 가장늦게 저장된 1부터 n까지 출력 되는 것이었다!
'공부' 카테고리의 다른 글
| 유클리드 알고리즘 (1) | 2019.04.21 |
|---|---|
| 랜덤으로 숫자 뽑기 (0) | 2019.04.16 |