재귀 호출
- 수행할 작업을 작게 쪼갠 다음에 그 중 한 조각을 수행하고, 나머지를 자기 자신을 호출한다.
- 더이상 쪼개지지 않을 때 return을 해주는 조건문이 있어야 한다.
Factorial 구현 예제
def solution(n):
fact=1
for i in range(1, n+1):
fact*=i
return fact
반복문으로 구현
def solution(n):
if n<2:
return 1
else:
return n*solution(n-1)
재귀 호출
n이 1이 되면 return 1을 한다.
solution(4)라면,
- n이 1일 때, 1을 return 받는다.
- 2 * 1
- 3 * 2
- return 4 * 6
반응형
'Computer science > Algorithm' 카테고리의 다른 글
Dynamic Programming Algorithm (0) | 2020.12.08 |
---|---|
[파이썬] merge sort (0) | 2020.12.04 |
divide & conquer algorithm (0) | 2020.12.04 |
heap (0) | 2020.11.26 |
검색 (0) | 2020.02.27 |