Fibonacci - złożoność czasowa i jej rozwinięcie

0

Jak powinno wyglądać rozwinięcie, gdy próbuje rozwiązać to tak jak dla silnii to wychodzi C(0), a nie mam takiego przypadku i nie wiem co dalej.

     static int fibo(int n)
     {
       if (n == 1 || n == 2)
         return 1;
       else
         return fibo(n-1) + fibo(n-2);
     }

Dla silnii liczymy to tak:
Silnia Czas

C(n) = {4 dla n=0 ^ n=1 
C(n-1)+6 dla n>1}
Rozw 
C(n)=C(n-1)+6 =C(n-2)+6+6=C(n-3)+6+6+6=C(n-n)+6n=C(0)+6n=4+6n
Spr C(0) = 4+6*0=4
Zał C(n)=4+6n
Tez C(n+1)=4+6(n+1) = 10+6n
Dow C(n+1)=C(n)+4+6n=4+6n+6=10+6n
  static int silnia(int n)
  {
    if (n == 0 || n == 1)
      return 1;
    else
      return n * silnia(n-1);
  }
0

Ale czemu bierzesz pod uwagę C(0)? Dziedziną dla fibonacciego jest n>0 a nie n>=0 jak dla silni.

1 użytkowników online, w tym zalogowanych: 0, gości: 1