Recursive Functions

solsolsol·2022년 4월 24일
0

JavaScript

목록 보기
14/17

재귀함수

재귀 함수는 함수가 계속해서 자신을 반복 실행하는 것을 말한다. 반복문을 대신해서 사용할 수 있지만 보다 실행 시간이 오래 걸리고 메모리를 많이 사용하기 때문에 꼭 필요한 데서만 사용할 수 있도록 해야한다.

사용 규칙

  • 반드시 자기 자신을 리턴해야 한다
  • 무한 반복을 막기 위해 종료되는 시점을 넣어야 한다

예시

두 매개 변수를 이용해 제곱한 값을 구하는 방법

  1. for문 사용하기
function Squared(x, n) {
  let result = 1;

  for (let i = 0; i < n; i++) {
    result *= x;
  }

  return result;
}

console.log(Squared(2, 3)) // 8
  1. 재귀함수 사용하기
function Squared(x, n) {
  if (n === 1) {
    return x;
  } else {
    return x * Squared(x, n - 1);
  }
}

console.log(Squared(2, 3)) // 8

Squared 가 종료되는 시점은 n === 1 이 되는 시점이다. 따라서 n 의 값이 1이 될 때까지 반복적으로 실행될 것이고 아래와 같은 결과로 인해 두 매개 변수를 제곱한 값을 얻을 수 있다.

Squared(2, 4) = 2 * Squared(2, 3) = 2 * 8
Squared(2, 3) = 2 * Squared(2, 2) = 2 * 4
Squared(2, 2) = 2 * Squared(2, 1) = 2 * 2
Squared(2, 1) = 2

0개의 댓글