Cum se calculeaza eficienta unui algoritm?
Cand ma uit pe un anumit algoritm observ ca la sfarsit este precizata eficienta acestuia,acel O,ex:O(n+m) sau O(n^2).
Cum se calculeaza aceasta eficienta mai exact?
Trebuie mai intai sa calculezi complexitatea structurilor de baza din program
if-uri, for-uri, while-uri. ultimele doua sunt bucle
Buclele au complexitate O(n)
Recomad sa citesti acest articol
http://discrete.gr/complexity/
Ai complexitate de timp si complexitate de spatiu, care se refera la memorie
Aici gasesti o lista cu complexitatiile in timp si spatiu pt diferiti algoritmi uzuali + structuri de date
int sum(int[] nArr, int[] mArr) {
int sum = 0;
for(int i : nArr) {
sum += i;
}
for(int i : mArr) {
sum += i;
}
return sum;
}
Acesta are complexitate O(n + m). Ai doua bucle for
1 Like