2026年 05月 25日
2026-05-25
재귀와 명시적 스택의 차이점
재귀로 DFS를 구현하면 함수 호출마다 실행 컨텍스트가 콜 스택에 쌓인다. 콜 스택은 용량이 제한되어 있어서 트리가 매우 깊어지면 스택 오버플로우가 발생할 수 있다. (엔진마다 다르지만 1MB 내외)
반면 배열로 스택을 직접 구현하면 힙 메모리를 사용하기 때문에 콜 스택 한계에서 자유롭다. 힙은 콜 스택보다 훨씬 크기 때문. (역시 엔진마다 다르지만 1GB 정도 된다고 함)
참고