참고 URL: https://velog.io/@jeongin/Javascript-%EC%9E%AC%EA%B7%80%ED%95%A8%EC%88%98
Class: 제로베이스
Created: November 30, 2022 3:24 AM
Type: Javascript
강의 명: 이론부터 실전까지 모든 것을 담은 자료구조/알고리즘
함수 스스로 자신을 참조해 호출하면서 동일한 코드가 계속적으로 수행되는 함수 호출 방법
재귀함수는 특정 조건이 됐을 때 자신을 그만 호출되도록 제한하는 Exit code 가 필요
- base case: 더 이상 문제를 쪼갤 필요가 없는 종료된 경우
- recursive case: 문제를 쪼개서 풀어가는 경우
function f(n) {
if (n <= 1) { // base case
return 1
}
return n + f(n-1) // recursive case
}
console.log(f(4)) //결과값 10
// 재귀패턴 순서 설명
// return 최종
//4 + f(3) 4 + 3 + 2 + 1
//3 + f(2) 3 + 2 + 1
//2 + f(1) 2 + 1
//1 + f(1) 1 (base case에 걸린 경우)
function pow(x, n) {
if (n == 1) {
return x;
} else {
return x * pow(x, n - 1);
}
}
alert( pow(2, 3) ); // 8
function pow(x, n) {
return (n == 1) ? x : (x * pow(x, n - 1));
}
console.log(pow(2,3)); // 8