카테고리 없음

[알고리즘]재귀 알고리즘 (recursive functions)

bestwish 2022. 8. 15. 17:25

재귀함수 (recursive functions)

하나의 함수에서 자신을 다시 호출하여 작업을 수행하는 것이다.

재귀함수로 작성된 코드는 반복문을 이용하여 동일한 기능을 구현할 수 있다.

재귀함수가 반복문보다 유리한 경우도 있지만, 불리한 경우도 있다.

알고리즘의 종결조건이 반드시 필요하다. ( 최대 재귀 깊이를 초과하면 RecursionError가 발생한다.)

 

코드구현

# 반복문으로 구현한 팩토리얼
def factorial_iterative(x):
	result = 1
    for i in range(1, x+1):
    	result *= x
    
    return result

# 재귀함수로 구현한 팩토리얼
def factorial_iterative(x):
	if x <= 1:
   		return 1
    
    return n * factorial_iterative(x-1)