[자료구조/알고리즘] 재귀

재귀 (Recursion)

재귀(Recursion)는 자신을 정의할 때 자기 자신을 재참조하는 방법을 뜻하며, 이를 프로그래밍에 적용한 재귀 호출(Recursive call)의 형태로 많이 사용된다.

재귀를 사용하기 좋은 경우

  1. 주어진 문제를 비슷한 구조의 더 작은 문제로 나눌 수 있는 경우
  2. 중첩된 반복문이 많거나 반복문의 중첩 횟수(number of loops)를 예측하기 어려운 경우

재귀를 사용한 예시

팩토리얼

function factorial(n) {
  return n * factorial(n-1)
}

let output = factorial(5) // factorial(5) = 5 * factorial(4)
console.log(output) // 120

좋은 웹페이지 즐겨찾기