Cum se calculeaza eficienta unui algoritm(O)

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