카테고리 없음

재귀 recursion

smile blog 2023. 3. 11. 15:00

수학적 귀납법의 기본형 :

p(1)이 참이고, p(n-1)->p(n)이 참이면, p(n)은 모든 자연수 n에 대해서 참이다

 

명제 p -> q의 의미

p가 참, q가 참 -> 전체 참

p가 참, q가 거짓 -> 전체 거짓

p가 거짓, q가 참 -> 전체 참 (Vacuously true) 

p가 거짓, q가 거짓 -> 전체 참 (Vacuously true)

 

Vacuously true란?

공허한 참, 말은 맞지만, 무의미하다는 뜻이다.

 

즉 p가 거짓이면 항상 Vacuously true 이다

하지만 p가 참일때는 증명을 해줘야 한다

 

int sum(int x)
{
    if(x<=0) return 0;
    return x + sum(x-1);
}

==> 1에서 x까지의 합에 대한 코드

==> 이해하기 위해서는 수학적 귀납법 필요

 

 

p(1)이 참이고

n=1 일 때, 1이 나오므로 참

 

, p(n-1)->p(n)이 참이면

n + sum(n-1) = sum (n) 이 맞으므로 참

 

, p(n)은 모든 자연수 n에 대해서 참이다

sum(n)은 참

 

 

The Complexity (코드가 돌아가는데 걸리는 시간)

T(n) = 1 + T(n-1)
 = 1 + 1 + T(n-2) = ... = n

T(n) = O(n) = n 보다 작은 것 =