[알고리즘]재귀 함수(Recursive Functions)

재귀 함수(Recursive Functions)

하나의 함수에서 자신을 다시 호출하여 작업을 수행하는 것

📍 주의할점

재귀 함수를 작성할 때는 함수 내에서 다시 자신을 호출한 후 그 함수가 끝날 때까지 함수 호출 이후의 명령문이 수행되지 않는다는 사실과 종료 조건이 꼭 포함되어야 한다.

🔍 풀이전략

    1. 어떻게 풀이 할지가 아니라 무엇을 해야할지 생각한다. 그리고 전체과정을 생각하는 것이 아니라, N번째에 해야하는 행동만을 집중적으로 생각한다. (N-1번째 이하의 과정은 재귀적으로 해결)
    1. 종료조건이 무엇인지 생각한다. (가능한 종료조건을 제일 먼저 검사)
    1. 반복이 진행 될 수록 종료조건에 수렴하는지 생각한다.

📖 대표적인 예(팩토리얼)

public class Test {
	public static void main(String[] args) {
		System.out.println("3 팩토리얼 : "factorial(3));
	}
    
  	public static int factorial(int n) {
		if(n > 0)
			return n * factorial(n-1);
		else
			return 1;
	}  
}

🔗 참고

https://siyoon210.tistory.com/58

좋은 웹페이지 즐겨찾기