<aside>
👉🏻 재귀 호출이란 자기 자신을 다시 호출하는 것이다.
</aside>
→ 이러한 재귀 호출이 필요한 이유는 무엇일까?
-
비선형 자료구조에서 필요하기 때문이다.
- 비선형 자료구조를 구현할 때 재귀 호출을 사용한다.
- 탐색 : 비선형 자료구조의 모든 노드를 한 번씩 방문하는 것
- 이러한 탐색을 위한 알고리즘에서 재귀 호출을 사용한다.
-
복잡한 문제를 쉽게 해결하기 위한 문제 해결 기법으로도 활용된다.
- 자기 자신을 호출할 때 마다 문제의 범위가 점점 작아진다.
- 따라서 풀기 쉬운 작은 문제가 되어서 문제를 해결할 수 있다.
1. 재귀 호출이란?
→ 재귀 호출이란, 함수를 실행했는데 그 함수 내부에서 다시 자기 자신을 실행하는 것
재귀 호출의 2가지 조건
→ 재귀 호출에서 주의할 점은 무한 루프(infinite loop)에 빠지지 않도록 구현해야 한다는 점이다.
- 의도하지 않은 무한 루프는 버그에 해당한다.
- 원하는 값이 반환되는 것이 아니라, 프로그램이 종료되지 않고 계속 실행만 되는 상태가 된다.
재귀 호출이 무한 루프에 빠지지 않기 위한 2가지 조건
- 호출될 때마다 문제의 범위가 줄어들어야 한다.
- 종료 조건이 있어야 한다.