재귀함수란?
- 재귀함수(Recursion)는 정의 단계에서 자신을 재참조하는 함수
- 전달되는 상태인 매개변수가 달라질 뿐 똑같은 일을 하는 함수
- 큰 문제를 작은 부분문제로 나눠서 풀 때 사용한다.
주의사항
- 반드시 기저사례를 써야 한다. (종료조건)
- 사이클이 있다면 쓰면 안된다. ex) f(a)가 f(b)를 호출한 뒤 f(b)가 다시 f(a)를 호출하는 것
- 반복문으로 될 거 같으면 반복문으로. (함수호출에 대한 코스트)
# 예시
- 팩토리얼 n! : 그 이전의 항을 모두 곱하는 것. 곱한다는 행위의 반복?
- 피보나치 : 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144
'c & c++ > algorithm' 카테고리의 다른 글
순열과 조합 (0) | 2023.01.18 |
---|---|
계수정렬(Counting Sort) (0) | 2022.07.12 |
힙 정렬(Heap) (0) | 2022.07.11 |
병합 정렬(Merge Sort) (0) | 2022.07.01 |
퀵 정렬(Quick Sort) (0) | 2022.06.28 |
댓글