본문 바로가기
컴퓨터 공학/Algorithm

[ 알고리즘 ] 재귀 함수의 기본 원리 이해하기

by hahehohoo 2020. 7. 8.
반응형

 

[ 알고리즘 ] 함수의 재귀적 호출의 이해

 

재귀함수란 다음과 같이 함수 내에서 자기 자신을 다시 호출하는 함수를 의미합니다. 

 

 

완료되지 않은 함수를 다시 호출하는 것이 가능한가요?

네 가능합니다.

아래 그림으로 더욱 쉽게 재귀함수의 흐름을 파악해봅시다. 

 


다음 그림은 Recursive 함수가 호출되면, Recursive 함수의 복사본이 만들어집니다. 

그리고 그 복사복인 실행되고, 그 안에서 Recursive 함수가 호출가 호출되면 또 복사본이 만들어집니다. 

 

 

실제로 함수를 구성하는 명령문은 CPU로 이동(복사)되어서 실행됩니다. 

따라서 이 재귀함수 역시 얼마든지 CPU로 이동이(복사가) 가능합니다. 

 


 

그럼 위의 예제의 호출 결과는 어떨까요?

Recursive 함수에서 문자열 출력하고, Recursive 함수 호출하고,

다시 문자열 출력, Recursive함수...

 

네 끝이 없습니다. '재귀의 탈출 조건'이 없기 때문입니다. 

그래서 다음과 같이 코드를 추가할 수 있습니다.

 

Recursive 함수에 0이 전달되면 '재귀의 탈출 조건'이 성립되어 함수가 반환하기 시작합니다. 

 

 

------------------------------

알고리즘 개념 모아보기 

------------------------------

 

 

 

 

반응형


댓글