2021.05.11 TIL : 재귀함수 제기랄

김병민·2021년 5월 11일
0

자바스크립트 공부

목록 보기
7/16

재귀함수 WTF ...

재귀함수

함수를 스스로 호출하는 함수

function recursive(pa1, pa2, ...) {
 // 재귀의 기초 
 if (문제를 더 이상 쪼갤 수 없을 경우) {
   return 단순한 문제의 해답;
 }
 // 재귀의 경우
 // 그렇지 않은 경우
 return 더 작은 문제로 새롭게 정의된 문제
 // 예1. pa1 + recursive(pa...)

}

예시 )

function ex(num){
    if(num===0){ //문제를 더 이상 쪼갤 수 없을 경우
        return 0 // 단순한 문제의 해답 ==> 맨 마지막 답
    }
    return num+ ex(num-1) // 여기서 ex는 재귀함수(자기 스스로를 호출하는 함수) 
}

함수 ex는 어케 작동하는가 ?
ex(5) 실행하면 ?

ex(5)= 5+4+3+2+1+0 = 15

재귀함수를 쓰는 이유

- 왜? why ?

  • 주어진 문제가 더 작은 문제로 나눠어 질 수 있는 경우
  • 중첩된 루프가 많거나 중첩의 정도를 미리 알 수 없는 경우

- 장점

  • 가독성이 좋아짐
  • 간결한 코드

- 단점

  • 내가 못씀
  • 이해가 안감
  • 근데 꼭 써야한다고함
  • 망함
  • 인생 ~🤮🤮🤮🤮

재귀함수 관련 숙제

  • 하노이탑 배워보기
  • js tail recursion optimization 검색해서 봐보기
profile
I'm beginner

0개의 댓글