본문으로 이동

재귀 (컴퓨터 과학)

위키백과, 우리 모두의 백과사전.

화면 녹화 프로그램에서의 재귀. 화면 속에 작은 화면이 무한히 들어간다.

컴퓨터 과학에 있어서 재귀(再歸, recursion)는 자신을 정의할 때 자기 자신을 재참조하는 방법을 뜻하며, 이를 프로그래밍에 적용한 재귀 호출(recursive call)의 형태로 많이 사용된다. 또 사진이나 그림 등에서 재귀의 형태를 사용하는 경우도 있다.

예시

[편집]

계승

[편집]

계승 (수학)을 구하는 법은 재귀가 가장 많이 이용되는 예의 하나이다. 예컨대, C로 계승을 구하는 방법은 다음 코드와 같다.

 unsigned int factorial(unsigned int n)
 {
     if (n <= 1)
         return 1;
     else
         return n * factorial(n-1);
 }
  def factorial(n: Int): Int = if (n <= 1) 1 else n * factorial(n-1)

이 코드에서는 함수의 값을 반환할 때 그 자신에 n-1의 인자를 넘겨 다시 호출하는 재귀를 사용하고 있다.

같이 보기

[편집]