zlozonosc obliczeniowa

0

mam pilne zadanie:
oszacowac zlozonosc podanych kodow z wyjasnieniem:

Function Pot(a : Integer; n : Byte) : LongInt;
Begin
If n=0 Then Pot:=1
Else Pot:=a*Pot(a, n-1);
End;

Function Fib(n : Byte) : LongInt;
Begin
If n<3 Then Fib:=1
Else Fib:=Fib(n-2)+Fib(n-1);
End;

Function Sil(n : Byte) : LongInt;
Begin
If n=0 Then Sil:=1
Else Sil:=n*Sil(n-1);
End;

Function Max(Var a : Tablica; start, stop : Word) : LongInt;

Var max_l, max_p : LongInt;
Begin
If start=stop Then Max:=a[start] Else
Begin
max_l:=Max(a, start, (start+stop) Div 2);
max_p:=Max(a, ((start+stop) Div 2)+1, stop);
If max_l>max_p Then Max:=max_l Else Max:=max_p;
End;
End;

kto pomoze i wyjasni? prosze tylko o powazne odpowiedzi, to dla mnie bardzo wazne, chodzi o te konkretne przyklady

0

naprawde nikt nie moze mi pomoc? :-/

0
  1. O(n)
    warunek końcowy: n = 1
    w przeciwnym wypadku n := n-1;
    Aby zejść z n do 1 potrzeba n-1 kroków a więc O(n)
  2. O(2^n) - poczytaj o generowaiu liczb fibonacciego
  3. O(n) Patrz punkt pierwszy
  4. Tu nie jestem pewien (nie znam dobrze paszczaka) ale chyba O(n).
0

W punkcie 4. nie jest O(n) tylko O(n log n).

0

dzięki chociaż za naprowadzenie... ;-)

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