반복1 반복과 재귀 : DFS 문제를 재귀로 구현하면 편리한 이유 For문과 재귀함수 for문과 재귀함수는 '반복'을 실행할 때 사용한다는 점에서 공통점을 가지고 있다. 처음 반복문을 배울 때 대부분 for문으로 배우기 때문에, 나중에 재귀함수에 익숙해지기란 쉽지 않다. 그럼에도 재귀를 알아야하는 이유는 '함수호출과 스택 메모리' 때문일 것이다. 재귀는 '스택 메모리'를 활용한다는 특징 때문에 깊이우선탐색(DFS)과 같은 특정 알고리즘 문제를 해결할 때 유용하게 쓰이는데, 그 이유에 대해서 알아보자. 고급 프로그래밍 언어에서 함수를 호출하게 되면, 운영체제는 스택 메모리라는 곳에 그 함수만 사용할 메모리 공간을 할당해준다. 그 함수 안에서 또 함수를 호출하면, 스택 메모리에 재귀적으로 호출된 함수들의 메모리 공간이 계속 쌓이게 된다. 즉, 가장 먼저 불린 함수는 자기 .. 2021. 5. 6. 이전 1 다음