재귀(Recursion)를 이용한 피보나치 수열 구하기
def fibonacci(N):
if N == 1:
return 0
elif N == 2:
return 1
else:
return fibonacci(N-1) + fibonacci(N-2)
- 피보나치 수열은 앞의 두 항의 값을 더해서 현재 항의 값을 구하는 형태의 수열
- 재귀적인 방법으로 N번째 항의 값을 구할 수 있음
일반화: f(n) = f(n-1) + f(n-2)
- 재귀와 피보나치 수열에 대한 자세한 설명은 글 하단 Reference 참조
결론
- 재귀호출을 이용하여 문제를 편리하게 해결할 수 있음
- 너무 많은 재귀함수 호출은 성능(메모리)적인 측면에서 문제가 될 수 있음
알고리즘
학습 내용을 정리한 글입니다.
더 좋은 방법이나 정보가 있으면 덧글로 남겨주세요.
감사합니다!
[Reference]
[1] 재귀(Recursion)
[2] 피보나치 수열