Witam, chciałem zapytać jak dokładnie liczyć złożoność obliczeniową programów w c++ itp
int silnia (int n) 1 czy 2 czy w ogóle z coś ?
{
if (n == 0) n+1
return 1; 1
else return n*silnia(n-1); n
}
int main()
{
int liczba; 1
cout << "Podaj liczbe: "; 1
cin >> liczba; 1
cout << liczba << "! = " << silnia(liczba) << endl; 1 czy więcej ?
return 0; 1
}
f(n)=1+n+1+1+n+1+1+1+1+1=2n+8=O(n)
int n; 1
int i; 1
int S; 1
i=1; 1
S=1; 1
cin>>n; 1
if(n>0) 1
{
do{
S=S*i; n-1
i=i+1; n-1
}
while (i<=n); n-1
cout<<S<<endl;` 1
}
else
cout<<"Bledne dane"<<endl;
f(n)=1+1+1+1+1+1+1+n-1+n-1+n-1+1=6+3n=O(n)
Omega(1) - najkrótsze rozwiązanie algorytmu (stałe)
I dodatkowo mam jeszcze pytania czy na przykład int a,b,c będziemy liczyć jako 1 czy jako 3 ? Tak samo jak int a=0 będzie 1 czy 2 ?
Byłbym wdzięczny za szybką odpowiedź ;)