카테고리 없음

[java] 2주차 강의_재귀함수

bebeghi3356 2025. 3. 15. 16:26

Recursive Function 재귀함수

: 어떠한 함수 정의 내에서 자기 자신 함수를 호춢

단점은 속도가 느리고 기억장소 소비가 많다

장점은 알고리즘을 작성하거나 이해하기 쉽다

 

+ ) 자동할당 메카니즘에 대한 이해가 필요하다

ex) 피보나치 수열

피보나치 수열 f(n)의 정의 

f(n) = f(n-1) + f(n-2) when n >= 2

f(1) = 1

f(0) = 1

 


class Test //클래스명은 대문자로 시작
{
	static int f(int n)
	{
    	if ( n == 0) return 1;
        if ( n == 1) return 1;
        if ( n >= 2)
        {
        	return f(n-1) + f(n-2);
    	}   
        return -1;
    }    
	public static void main(String[] args)
    {
    	for(int i = 0; i < 10; i++) {
        	System.out.println("f(" + i + ") = " + f(i));
            }
    }  
}    
        
 
//f(n) = f(n-1) + f(n-2) when n >= 2
//f(1) = 1
//f(0) = 1
//클래스명과 파일명이 일치해야한다.