[Data Structure] 재귀(recursion)와 반복(iteration)
·
Data Structure & Algorithm/Data Structure
재귀 (Recursion) 재귀함수는 정의 단계에서 자신을 재참조하는 함수를 뜻한다. 가장 대표적 예가 팩토리얼, 피보나치 수열이다. 팩토리얼은 아래와 같이 정의된다.$$ n ! = \begin{cases} 1 & \quad n = 0 \\ n \times (n-1) ! & \quad n \geq 1 \end{cases} $$ $ n ! $ 을 계산하기 위해 $ (n-1) ! $ 을 계산하는 것이다. 결국 팩토리얼 계산을 위해 다시 팩토리얼을 계산해야 한다.피보나치 수열 역시 아래와 같이 정의되기 때문에 재귀함수라 할 수 있다.$$ F_0 = 0, \quad F_1 = 1, \quad F_{n+2} = F_{n+1} + F_{n} $$$ F_{n+2} $ 를 계산하기 위해 $ F_{n+1} $ 과 $ F..