팩토리얼&피보나치 그리고 재귀함수

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

//for loop
function fact2(n) {
  let c = 1;
  for (let i = 1; i <= n; i++) {
    c *= i;
  }
  return c;
}

console.log(fact1(5)); //120
console.log(fact2(5)); //120
function fibo(n) {
  if (n == 0 || n == 1) return 1;
  return fibo(n - 1) + fibo(n - 2);
}

console.log(fibo(5));

0개의 댓글