꼬리 재귀는
leaf 함수(?) 지칭하는 단어를 모르겠는데 가장 나중에 실행되는 꼬리 함수들에서 결과가 나오는거고
그냥 재귀는 콜 스택에 쌓이고 내려오면서 결국 처음 호출한 함수에서 결정되는게 맞나요?
그럼 base case 설정할때 따로 고려해야할 부분이 있나요??
꼬리 재귀는
leaf 함수(?) 지칭하는 단어를 모르겠는데 가장 나중에 실행되는 꼬리 함수들에서 결과가 나오는거고
그냥 재귀는 콜 스택에 쌓이고 내려오면서 결국 처음 호출한 함수에서 결정되는게 맞나요?
그럼 base case 설정할때 따로 고려해야할 부분이 있나요??
꼬리 재귀는 마지막에 하는 일이 재귀함수 return하는 거임. return recursive() + a 뭐 이런 것도 아니고 그냥 return recursive(). 이렇게 되면 스택을 쌓는게 아니라 그 전 스택을 그대로 이용해서 메모리가 효율적으로 쓰여지지