SICP 트리 재귀
SICP
2024. 5. 26. 00:17
피보나치 수열은 트리재귀의 한예로, 피보나치 수열의 각 수는 그 이전 두 수의 합이다.0, 1, 1, 2, 3, 5, 8, 13, 23 ...피보나치 수열의 일반화는 다음과 같다.Fib(n) = 0, n = 0Fib(n) = 1, n = 1Fib(n) = Fib(n-1) + Fib(n - 2)피보나치 수열을 함수로 구현하면 다음과 같다.function fib(n) { return n === 0 : 0 ? n === 1 : 1 ? fib(n - 1) + fib(n - 2);}이와 같이 트리재귀 함수는 피보나치 수열을 구현하기에는 적합하지만, 계산에서는 매우 부적절한 면이 있다.그것은 실제 계산시, 중복되는 계산이 지수적으로 증가한다는 것이다.트리 재귀적 과정에 필요한 단계의 수는 트리의 노드 수..