본문 바로가기

언어 기초/C언어

[큰돌 C++ 알고리즘 코딩테스트 | 강의 0주차] 재귀함수(recursion)

재귀함수

  • 재귀함수(Recursion)는 정의 단계에서 자신을 재참조하는 함수
  • 전달되는 상태인 매개변수가 달라질 뿐 똑같은 일을 하는 함수
  • 큰 문제를 작은 부분문제로 나눠서 풀 때 사용합니다.

재귀함수 사용시 주의사항

  • 반드시 기저사례를 써야 한다. (종료조건) if(n == 1 || n == 0) return 1;
  • 사이클이 있다면 쓰면 안된다. ex) f(a)가 f(b)를 호출한 뒤 f(b)가 다시 f(a)를 호출하는 것
  • 반복문으로 될 거같으면 반복문으로. (함수호출에 대한 코스트가 든다.)

팩토리얼과 피보나치에서의 활용

팩토리얼
피보나치