- 팩토리얼을 통해서 재귀함수 리턴값 원리를 이해하자
- 대다수 for문으로 구현 가능한 계산식을 재귀함수로 구현하는것은 객체 생성에 더큰 비용이 소요된다. = (더 느리다.)
ex) 팩토리얼은 재귀함수보다 for문을 쓰는것이 객체 생성 드는 비용이 덜함. = (더빠름)
- 예외적으로 피보나치 계산시와 같은 특수한 경우에 재귀함수를 사용하는걸 추천 한다고함
function fact1(n) {
if (n == 0 || n == 1) return 1;
return n * fact(n - 1);
}
function fact2(n) {
let c = 1;
for (let i = 1; i <= n; i++) {
c *= i;
}
return c;
}
console.log(fact1(5));
console.log(fact2(5));
function fibo(n) {
if (n == 0 || n == 1) return 1;
return fibo(n - 1) + fibo(n - 2);
}
console.log(fibo(5));