Documente Academic
Documente Profesional
Documente Cultură
COMPLEXITATE N SPAIU
dimensiunea spaiului de memorie utilizat de program
spaiul de memorie necesar memorrii instruciunilor programului codul programului; spaiul de memorie necesar memorrii constantelor i variabilelor; spaiul de memorie necesar pstrrii structurilor dinamice; spaiul de memorie necesar apelurilor de funcii (inclusiv pentru parametri i variabile locale)
Obs. 1. O dat de tip int ocup 2 octei 2. O dat de tip long sau float ocup 4 octei
3
MAXIM RECURSIV
int max(int i) { if (i==n) return(a[i]); else { int x=max(i+1); if (a[i]>x) return(a[i]); else return x; } }
adresa de revenire - 2 octei parametrul i - 2 octei variabila local x 2 octei tabloul a n * 2 octei = 2n octei
COMPLEXITATEA N TIMP
o estimare a timpului de execuie, adic o aproximare a numrului de operaii executate de program n funcie de dimensiunea datelor de intrare se noteaz cu T(n) i depinde de ordinul de mrime a datelor prelucrate. T(n)=O(f(n)), unde O(f(n))=ordinul de complexitate (de mrime) al algoritmului, iar f(n) este o funcie care exprim eficiena.
6
Operaii de baz
O operaie de baz este o operaie sau o succesiune de operaii care nu depind de caracteristicile problemei care se rezolv. O operaie de baz poate fi: - o atribuire - o comparaie - 10 adunri - 10 nmuliri, etc.,dar n adunri nu reprezint o operaie de baz - 1 citire i o comparaie, 1 citire i o atribuire, etc.
7
CICLURI INCLUSE
x=1 Pentru i=1, n, 1 Pentru j=1, n, 1 y=2 * x++ scrie(y) Sf. Pentru Sf. Pentru
CUTARE BINAR
gsit=0 li=1 ls=n Ct timp li<ls i gsit=0 m=(li + ls)/2 Dac a[m]=x atunci gsit=1 altfel Dac a[m]>x atunci li=m + 1 altfel ls=m 1 Sf. Dac Sf. Dac Sf. Ct timp
10
Complexitatea algoritmilor
Complexitate O(log2n) O(n) O(n2) O(n3) O(2n) O(n!) Tipul de algoritm Algoritm logaritmic Algoritm liniar Algoritm ptratic Algoritm cubic Algoritm exponenial Algoritm factorial
11
n loc de concluzii
Sper c v-am dat o alt perspectiv asupra rspunsului la ntrebarea Care algoritm este mai bun?
12