Descărcați ca PDF, TXT sau citiți online pe Scribd
Descărcați ca pdf sau txt
Sunteți pe pagina 1din 2
Complexități algoritmi
Adunarea a două numere a+b
Aflarea sumei 1+2+3+...+n (se COMPLEXITATE CONSTANTĂ O(1) află cu formula n*(n+1)/2 Aflarea parității unui număr (n%2) COMPLEXITATE LOGARITMICĂ Căutare binară (împărțiri repetate la 2 a numărului de Divide et Impera elemente considerate) O(log n) Căutare într-un arbore binar Operații cu divizorii unui număr COMPLEXITATE RADICAL O(sqrt n) (putem să prelucrăm divizorii (setul se împarte în mai multe seturi) unui număr parcurgând toate numerele de la 1 la sqrt(n) ). Parcurgerea unui vector Căutarea liniară în vector COMPLEXITATE LINIARĂ O(n) Compararea a două șiruri de caractere Minimul dintr-un șir Merge Sort COMPLEXITATEA O(n log n) – Quick Sort metodele eficiente de sortare Heap Sort Parcurgerea unei matrici pătratice de latură n COMPLEXITATE PĂTRATICĂ O(n2) sau Sortarea prin inserție O(n*n) Sortarea prin selecție Bubble Sort COMPLEXITATE CUBICĂ O(n3) sau Înmulțirea a două matrici O(n*n*n) Determinarea valorii unui COMPLEXITATE POLINOMIALĂ polinom COMPLEXITATE EXPONENȚIALĂ Turnurile din Hanoi Calcularea tuturor permutărilor unui număr folosind metoda backtracking (fără afișare) COMPLEXITATE FACTORIAL O(n!) Calcularea partițiilor unui număr folosind metoda backtracking (fără afișare) Alți algoritmi backtracking Calcularea permutărilor unei COMPLEXITĂȚI „COMBINATE” submulțimi și afișarea de soluții O(n!*n) Notații: Ω – cazul cel mai bun – cazul favorabil (timpul minim) O – cazul cel mai rău – cazul defavorabil (timpul maxim) Θ – cazul mediu – media aritmetică a timpilor de execuție corespunzătoare tuturor cazurilor posibile