재귀함수(recursion)

Kim Yuhyeon·2023년 4월 24일
0

알고리즘 + 자료구조

목록 보기
92/161

재귀함수


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

주의사항

  • 반드시 기저사례를 써야함 (종료조건)
  • 사이클이 있으면 쓰면 안됨
    ex. f(a)가 f(b) 호출한 뒤 f(b)가 다시 f(a)를 호출하는 것
  • 반복문으로 될 것 같으면 반복문으로
    (대부분 반복문 < 함수호출 (속도))

예시

  • 팩토리얼
  • 피보나치
  • 순열

이해하기 어려울 때

  • 출력해보기
  • 디버깅하기
  • 흐름을 기억하고 그걸 기반으로 재귀함수를 만들기

0개의 댓글