컴퓨터 공학/Algorithm
[ 알고리즘 ] 재귀 함수의 기본 원리 이해하기
hahehohoo
2020. 7. 8. 08:14
반응형
[ 알고리즘 ] 함수의 재귀적 호출의 이해
재귀함수란 다음과 같이 함수 내에서 자기 자신을 다시 호출하는 함수를 의미합니다.
완료되지 않은 함수를 다시 호출하는 것이 가능한가요?
네 가능합니다.
아래 그림으로 더욱 쉽게 재귀함수의 흐름을 파악해봅시다.
다음 그림은 Recursive 함수가 호출되면, Recursive 함수의 복사본이 만들어집니다.
그리고 그 복사복인 실행되고, 그 안에서 Recursive 함수가 호출가 호출되면 또 복사본이 만들어집니다.
실제로 함수를 구성하는 명령문은 CPU로 이동(복사)되어서 실행됩니다.
따라서 이 재귀함수 역시 얼마든지 CPU로 이동이(복사가) 가능합니다.
그럼 위의 예제의 호출 결과는 어떨까요?
Recursive 함수에서 문자열 출력하고, Recursive 함수 호출하고,
다시 문자열 출력, Recursive함수...
네 끝이 없습니다. '재귀의 탈출 조건'이 없기 때문입니다.
그래서 다음과 같이 코드를 추가할 수 있습니다.
Recursive 함수에 0이 전달되면 '재귀의 탈출 조건'이 성립되어 함수가 반환하기 시작합니다.
------------------------------
------------------------------
반응형