-
[코드스테이츠 TIL] 재귀 RecursionStudy/JavaScript 2019. 11. 13. 12:08반응형
재귀 : 함수를 스스로 호출하는 것
- 기본적으로 반복문이므로 모든 재귀는 반복문으로 표현 가능하다
- 무한 반복을 방지하기 위해 반드시 탈출 조건이 있어야 한다
//재귀 function factorial(n) { //base case : n이 0이면 재귀를 더 이상 진행하지 않는다 if(n===0){ return 1; } //recursive case return n * factorial(n-1); } //반복 function factorial(n) { let result = 1; for (let i=n; i>0; i--) { result = result * i; } return result; }
- 재귀의 사용 : 피보나치 수열, 돔 트리 구조 탐색
- 재귀의 장점 : 알고리즘이 재귀로 표현하기 자연스러울경우 프로그램 가독성이 좋다
- 재귀의 단점 : 값이 리턴되기 전까지 호출마다 call stack을 새로 생성하므로 반복문보다 메모리를 많이 사용한다
반응형'Study > JavaScript' 카테고리의 다른 글
[생활코딩] JavaScript란 무엇인가? (0) 2019.11.29 [코드스테이츠 TIL] Fetch 서버에 요청하기 (0) 2019.11.14 [코드스테이츠 TIL] 비동기호출 Asynchronous Call & Callback 함수 (0) 2019.11.12 [코드스테이츠 TIL] This & 함수메소드 call, apply, bind (0) 2019.11.11 [코드스테이츠 TIL] 객체지향 Class & Instance & Prototype (0) 2019.11.08