JS 재귀[TIL 33일차]

JUNGHUN KIM·2021년 7월 20일
0
post-custom-banner

재귀함수

  • 어떤 함수가 스스로를 호출 하는 함수.
  • 어떤 문제를 해결할 때 , 동일한 구조의 더 작은 문제를 해결함으로써 주어진 문제를 해결 하는것을 재귀(recursion) 라고 함
  • 재귀 함수는 while과 for문으로 표현할 수 있지만, while문과 for문이 복잡해지면 복잡해질수록 재귀를 사용한 코드가 더 간결하고 이해하기 쉬운 경우가 있음.

base case / recursive case

재귀 함수 사용시에는 base case와 recursive case를 나누어서 생각해야한다.

  • base case=> 탈출조건 이라고 불리며 문제를 가장 단위로 쪼갠다고 생각하면 됨.
    더 이상 쪼갤 수 없는 경우
  • recursive case => 재귀 조건이라고 불리며 재귀 함수를 구현하고 재귀 함수의 탈출 조건

간단한 예제1

입력받은 모든 수의 합을 더하는 것을 재귀 함수로 나타내면 하기와 같음

function arrSum(num) {
	//base case
  if(num ===0) { 
  	return 0
  }
  
  //recursive case
 return num + arrSum(num-1)
}

arrSum(10) // 55

https://stackoverflow.com/questions/931762/can-every-recursion-be-converted-into-iteration

profile
개발자가 되고 싶은 일문학도
post-custom-banner

0개의 댓글