ALGORITHM/Recursion

    [Recursion] 재귀 호출 기본 개념 및 예제

    들어가며 완전 탐색을 할 때에 사용할 수 있는 방법 중 하나인 재귀 호출에 대해 공부해보고자 합니다. 이번 포스팅은 알고리즘 문제해결전략(구종만 저) 6장을 공부하며 정리한 내용입니다. 재귀 호출 재귀 함수(Recursive function)란, 자신이 수행할 작업을 유사한 형태의 여러 조각으로 쪼갠 뒤 그 중 한 조각을 수행하고, 나머지를 자기 자신을 호출해 실행하는 함수를 의미합니다. 반복문을 재귀 함수로 바꿔 구현해보면, 재귀 호출의 기초적인 특징을 확인할 수 있습니다. 아래 예시에서는 기존 반복문 사용에 비해 재귀 호출의 이점이 별로 없지만, 기초적인 특징은 확인이 가능합니다. 1부터 n까지의 합을 구하는 반복문 int sum(int n) { int ret = 0; for(int i = 1; i