1 | 2 | 3 | 4 | 5 | 6 |
1 | 1 | 2 | 3 | 5 | 8 |
- 3번째 항부터 이전 두개의 항 참조
- 1번, 2번째 항은 참조 당하기만 함. <- base case!!!
base case는 index로 구분되어지나 value로 구분되어지나?
n 번째 피보나치를 재귀의 방식으로 풀어나가 보면,
def fib(n):
if n < 3:
return 1
return fib(n-1) + fib(n-2)
print(fib(6))
n=3 => fib(2) + fib(1) (둘다 참조당하는 값, base case)
n=4 => fib(3) + fib(2) (fib(3)은 재귀로 돌아가고, fib(2)는 base case)
-
-
-
따라서, n 에 값에 따라서 base case와 recursive case가 나누어지기에 value로 구분되어지는 경우다.
base case -> Value
recursive case -> Function(itself)
'알고리즘 > 문제 풀이' 카테고리의 다른 글
2021-10-05 각 자릿수의 합 반영환 (0) | 2021.10.11 |
---|---|
2021-10-05 삼각수 반영환 (0) | 2021.10.11 |
2021-09-30 Bronze "8958" 반영환 (0) | 2021.09.30 |
2021-09-27 Bronze "10809" 반영환 - print end 옵션 (0) | 2021.09.27 |
2021-09-20 Bronze "10951" 반영환 (0) | 2021.09.20 |