-
재귀 함수(Recursion)프로그래밍/자료구조 2016. 12. 18. 22:31728x90반응형
재귀 함수(Recursion)
c언어를 기반으로 말을하면 재귀 함수는 자기자신을 호출하는 함수이다.
즉, 함수 선언안에 자기자신을 또 선언하는 문장이 들어있는것.
ex)
void Recursive (void) {
printf("Recursion call! \n");
Recursive();
}
이러한 것같이 자기 자신을 다시 호출하는 함수가 재귀함수이다.
자기자신을 호출하는데 무슨 필요가 있겠는가.. 라고 생각들기도 하지만
함수에선 재귀적 성향을 가진 함수가 꽤 많이있다.
그럼 재귀 함수의 호출원리를 알아보자.
재귀함수의 호출은 자기자신의 함수로 다시 재진입하는것이 아니라
자기자신의 함수를 복사하여 붙여넣는것이다.
즉, 이런식으로 자기함수를 복사하여 호출하는것이다.
재귀 함수는 팩토리얼, 피보나치 수열, 하노이타워, 이진 탐색 등 여러모로 쓰이곤한다.
다음 블로그에선 재귀함수의 활용을 볼 것이다.
728x90반응형'프로그래밍 > 자료구조' 카테고리의 다른 글
재귀함수의 팩토리얼(Factorial) (0) 2016.12.18 빅-오 표기법(Big-Oh Notation) (0) 2016.12.16 이진 탐색(Binary Search) 알고리즘과 시간 복잡도 (0) 2016.12.16 순차 탐색(Linear Search) 알고리즘과 시간 복잡도 (0) 2016.12.16 자료구조와 알고리즘의 성능분석방법 (0) 2016.12.16