factorial1 재귀함수(Recursion Function) 재귀(Recursion)란 무엇인가? 함수를 스스로 호출하는 것으로 어떤 문제를 해결할 때 구조는 동일하지만 더 작은 경우를 해결함으로써 그 문제를 해결하는 방법이 재귀이다. 재귀는 어떤 경우에 사용하면 좋은가? 1) 주어진 문제가 구조는 비슷하고 더 작은 문제로 나뉘어 질 수 없는 경우 2) 중첩된 루프가 많은 경우 3) 중첩의 정도를 미리 알 수 없는 경우 재귀의 장점과 단점 장점: 프로그램의 가독성이 좋다. 단점: 호출마다 call stack이 새로 생성되어 메모리를 많이 사용한다. 호출 stack이 너무 커져서 메모리를 엄청나게 소비할 수 있다. 재귀함수를 만드려면 base case와 recursive case로 나누어야 한다. 재귀함수는 자기 자신을 호출하기 때문에 호출 stack이 커져 메모리.. 2021. 2. 11. 이전 1 다음