꼬리 재귀1 [Algorithm] Tail Recursion (꼬리 재귀) 재귀 함수 재귀 함수는 '기저 사례(base case)'와 '재귀적 관계(recurrence relation)'만 알면 정말 간단하게 구현할 수 있다. 그리고 보통 코드가 짧아서 가독성도 좋다. 쪼개지지 않는 가장 작업들을 가리켜 재귀 호출의 기저 사례(base case) 자기 자신과 관계를 맺는 형식을 재귀적 관계(recurrence relation) 하지만 장점이 있으면 단점도 있는 법이다. 재귀 호출을 할 때마다 콜 스택에 새로운 프레임이 쌓이고, 각 프레임은 지역 변수나 인수를 저장하기 위해 메모리를 사용한다. 이게 보통은 문제가 되지 않지만, 만약 각 프레임에서 기가바이트 단위의 데이터를 받아 처리해야 하는 경우에는 문제가 심각해질 수도 있다. 혹은 콜 스택이 너무 깊어지면 스택 공간이 가득차 .. 2023. 3. 19. 이전 1 다음