Computer Science/Algorithm
재귀함수(Recursion)
재귀함수(Recursion) Stack 개념을 이용해 자기 자신을 다시 호출하며 반복하는 함수이다. 구성 탈출 조건, 연산, 재귀 호출로 이루어진다. 탈출 조건을 잘못 설정하면 Stack Overflow가 발생한다. public static int rSum(int n){ // 탈출 조건 if(n == 0) return 0; // 재귀 호출 return n += rSum(n-1); } 장점 가독성을 높일 수 있다.(재귀적인 표현이 자연스러운 경우) 단점 호출이 많아질수록 Stack에 쌓여 메모리 사용량이 계속 증가한다. Stack Overflow가 발생할 수 있다. 재귀함수 사용 예시 피보나치 수열, 팩토리얼 구하기 분할 정복 알고리즘 이진 탐색 하노이의 탑 백트래킹 알고리즘 Tail Recursion(꼬..