재귀는 알고리즘 설계 및 구현에서 유용하게 사용하며 기초이다.
자기 자신을 호출하는 함수를 만들어서 사용한다.
1개 이상의 base case(기저 케이스)가 존재하고 수렴하도록 작성한다.
대표적인 것이 factorial
def factorial(n):
if n < 2:
return 1
else:
return n*factorial(n-1)
print(factorial(4))
4!
의 결과 : 24
알고리즘 자체가 재귀적인 표현이 자연스러운 경우 재귀함수 사용한다.
즉 점화식으로 쉽게 표현할 수 있으면 재귀함수로 표현하기 쉽다.