Zlozonosc funkcji - pomoc

0
 
double wynik = 1;
for(int i=0; i<n; ++i)
{
     wynik += wynik + log(i*i);
}

Mam pytanie o złożoność np. takiej funkcji. Pętla ma O(n) a to w pętli to O(log n ) czy O(log(n^2) ) ? I wtedy całość ma O(n) * to co w pętli z tego co wiem, tak?

0

O(log n) to to samo co O(log(n2)), bo O(log(n2)) = O(2logn).
Całość ma koszt O(n*ToCoWPętli) -- żadne zaskoczenie imo.

0

Złożoność tego algo to O(n).

0

Tu nie chodzi o to, co robi dana operacja w srodku, tylko jak dlugo to robi. Kazde wykonanie funkcji log mozesz potraktowac jako O(1), wiec caly kod to O(n).

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