Recursed

'Recursed'는 컴퓨터 과학 및 수학에서 주로 사용되는 용어로, 재귀 호출의 과정을 나타낸다. 재귀는 함수가 자기 자신을 호출하는 프로그래밍 기법으로, 복잡한 문제를 더 간단한 여러 개의 하위 문제로 나누어 해결하는 방법이다. 재귀 함수는 일반적으로 기본 사례(base case)와 재귀 사례(recursive case)로 구성되어 있다. 기본 사례는 함수가 더 이상 자기 자신을 호출하지 않고 종료되는 조건을 지정하며, 재귀 사례는 함수가 자기 자신을 호출하여 문제를 해결하도록 유도한다.

예를 들어, 팩토리얼(factorial) 함수를 고려할 수 있다. n! (n 팩토리얼)은 n이 1 이하일 때 1이 되며, n이 1보다 클 경우 n * (n-1)!로 정의된다. 이 경우, n이 1 이하일 때 함수는 더 이상 자기 자신을 호출하지 않으므로 기본 사례에 도달하게 되고, 이를 통해 최종적인 결과를 계산할 수 있다.

재귀의 유용성은 주로 복잡한 구조나 패턴을 다룰 때 나타나며, 분할 정복 알고리즘, 깊이 우선 탐색(depth-first search) 등 다양한 알고리즘의 구현에 이용된다. 그러나 무한 재귀 호출이 발생하는 경우 프로그램의 스택 오버플로우(stack overflow)가 발생할 수 있어, 적절한 기본 사례를 설정하는 것이 중요하다.