1 답변
-
재귀함수는 n번째 항과 n-1번째 항의 관계만 기술하는 점화식과 개념이 똑같죠.
등차수열의 점화식은
A(n) = A(n-1) + d
이잖아요.
이걸 재귀함수로 똑같이 쓸 수가 있습니다.
def A(n): return A(n-1) + d
그런데 등차수열 정의에서 빠진게 있죠. 초기항
A(0) = A_0
라는 것이요. 재귀함수에서도 똑같이 이게 필요합니다.def A(n): if n == 0: return A_0 return A(n-1) + d
이건 일반적인 식이고, A_0, d 의 값이 명시적으로 주어져야 어떤 등차수열인지가 완전히 정의됩니다.
A(n) = 3n + 2
인 식이라면, A_0 는 2, d 는 3 인 것이고, 이 때의 재귀함수의 정의는def A(n): if n == 0: return 2 return A(n-1) + 3
이렇게 되겠습니다.
등차수열의 일반식을 이용하는 것이 훨씬 계산상의 이득이 많기 때문에, 이렇게 재귀함수로 정의해서 사용하는 사람은 없겠지만, 개념상으로 이렇게 됩니다.
피보나치 재귀함수도, 피보나치 점화식과 잘 비교해 보면 쉽게 이해가 됩니다.
댓글 입력