Recent Posts
Recent Comments
Link
Today
Total
02-08 20:18
관리 메뉴

채린씨의 티스토리

22. 재귀 함수 본문

자료구조, 알고리즘/JavaScript 기초 문법

22. 재귀 함수

채린씨 2022. 3. 5. 14:06

* 재귀 함수

- 함수 스스로 자신을 참조해 호출하면서 동일한 코드가 계속적으로 수행되는 함수 호출 방법 (반복문으로 변환 가능)

- 재귀 함수는 특정 조건이 됐을 때 자신을 그만 호출하도록 제한하는 exit code가 필요

- 컴퓨터는 재귀 함수가 호출될 때마다 stack에 차례로 쌓아가며 기록, exit code를 만나서 함수가 실행될 때는 stack에서 하나씩 꺼내가며 실행

(좌) 위키백과, (우) https://www.programiz.com/javascript/recursion

 

- 만약 exit code가 없으면? 계속 반복해서 함수를 호출하다가 stack overflow 발생!

 

- num + (num - 1) + (num - 2) + ... + 0의 값을 출력하는 재귀 함수

 

- 재귀 함수의 대표! Factorial!

https://www.programiz.com/javascript/recursion

 

- 내가 머리속으로 재귀 함수를 이해하는 방법.. 재귀 함수를 만나면 그게 띠용 하고 확대되어서 그 안에 재귀 함수가 또 있고.. 또 있고.. 이렇게 생각하면 그나마 이해가 된다.. 위에 있는 그림을 가로로 펼쳐놓은 것뿐이긴 한데 여튼 난 이렇게 이해한다.. 뭔 소리야..

 

- for문이나 while문은 눈감고도 칠 수 있는데, 재귀 함수는 정말 손에 안 익는다. 많이 연습하자!

 

 

'자료구조, 알고리즘 > JavaScript 기초 문법' 카테고리의 다른 글

24. 연습문제  (0) 2022.03.06
23. 콜백 함수  (2) 2022.03.06
21. 함수  (0) 2022.03.05
20. 반복문 연습문제  (0) 2022.03.05
19. 반복문 제어  (0) 2022.03.05
Comments