티스토리 뷰
반응형
재귀 함수 (Recursive Function)
재귀 함수란 자기 자신을 호출하는 함수를 의미한다.
자기 자신을 호출하는 재귀 함수는 반복해서 코드를 실행하기에 반복문과 유사하다.
따라서 재귀 함수를 반복문으로, 혹은 반복문을 재귀 함수로 변환할 수 있으며, 사용 목적에 따라 무엇을 사용할지 선택하는 것이 좋다.
또한 재귀 함수에서는 종료 조건을 명시해주어야 한다.
종료 조건을 명시하지 않으면 함수가 무한히 호출되며 최대 재귀 깊이를 초과하는 RecursionError가 발생한다.
재귀 함수 예제 - 팩토리얼
자연수 n의 팩토리얼을 구하여라.
n의 팩토리얼은 n! = 1 x 2 x ... x (n-1) x n 을 의미한다.
>> 팩토리얼은 연속된 숫자를 반복해서 곱하여 표현하기에 재귀함수를 통해 쉽게 구할 수 있다.
아래에서는 return에서 다시 함수를 호출하여 반복해서 작아진 수를 곱하도록 만들어주었다. 또한 재귀 함수에서
곱해지는 수가 1일 때 재귀 함수를 종료하도록 설정하였다.
추가적으로 반복문(for문)을 통해서 문제를 풀 수도 있다.
아래 코드를 보며 재귀 함수와 반복문을 비교해보자.
'파이썬' 카테고리의 다른 글
파이썬 알고리즘 - DFS (Depth- First Search) (0) | 2023.01.18 |
---|---|
자료구조 - 큐 (Queue) (0) | 2023.01.05 |
자료구조 - 스택(Stack) (0) | 2023.01.03 |
파이썬 알고리즘 - 구현 (0) | 2023.01.01 |
그리디 알고리즘 (Greedy Algorithm) (0) | 2022.12.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 11.0
- 알고리즘
- 다운
- 영원
- 10.84
- queue
- 히든
- 다운로드
- 원랜디
- 초월
- 10.8
- 원피스랜덤디펜스
- 시즌8
- 파이썬
- 자료구조
- 전설
- 순위
- 패치
- 정식맵
- 불멸
- 설치
- 맵
- 희귀
- 10.802
- Python
- 히든조합
- 큐
- 스토리
- 확장팩
- 10.801
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함