Recursion

 

재귀적 용법은 수학에서 무한한 값을 유한하게 표현하기 위한 재귀적 수식으로부터 유래한 것으로서 의미와 표현방법에 있어서 동일하다. 예를 들면 수학에서 양의 정수를 모두 표현할 수 없으나, 재귀적 함수식을 사용하면 값을 모두 정의할 수 있다.  

         n=0  ⇒  f(n)=0

         n=1  ⇒  f(n)=1

         n>1  ⇒  f(n)=f(n-1)+1 

재귀적 함수식을 사용하는 또 다른 예로 n에 대한 factorial 값은 다음과 같이 재귀적으로 정의할 수 있다. 

         n=0  ⇒  fac(n)=1

         n=1  ⇒  fac(n)=1

         n>1  ⇒  fac(n)=n * fac(n-1)

재귀적 표현을 그대로 프로그래밍 언어로 표현한 것이 소위 재귀적 함수 (recursive function) 이다. 프로그래밍 언어에서 재귀적 함수는 두 가지 방법으로 관찰된다. 

  - 함수 안에서 자기 자신의 함수를 직접 호출하는 방법

  - 두개의 함수가 상호간 호출하는 방법 

재귀적 용법은 함수에만 국한되지 않고, 자료형에도 적용된다. 즉 구조체(레코드)에서 데이터 항목이 자신과 동일한 구조체형으로 정의되는 경우를 자료형의 재귀적 용법이라고 한다. .......... (재귀적 용법 : 강원대)

example :

Recursive Animation - Animated GIF

Recursive Animation - Flash

term :

재귀 (Recursion)   재귀함수 (Recursive Function)    프랙탈 (Fractal)   피드백 (Feedback)   Douglas Hofstadter    괴델, 에셔, 바흐 (Godel, Escher, Bach)     두뇌 (Brain)   복잡계 (Complex System)   비결정론 (Indeterminism)   비선형 (Nonlinear)   신경망 (Neural Network)   예측 (Prediciton)   인공지능 (Artificial Intelligence)   컴퓨터 (Computer)   하노이탑 (Tower of Hanoi)

site :

Wikipedia : Recursion

video :

무한의 연결고리 : 2014/08/23