Ce este analiza algoritmilor?................................................................ 16
Notaia asimptotic.............................................................................. 18 9.2.1 O notaie pentru ordinul de mrime al timpului de execuie al unui algoritm 19 Tehnici de analiza algoritmilor.............................................................21 9.3.1........................................................................ Sortarea prin selecie 21 9.3.2........................................................................ Sortarea prin inserie 23 9.3.3.......................................................................... Turnurile din Hanoi 24 Analiza algoritmilor recursivi...............................................................25 9.4.1................................................................................ Metoda iteraiei 25 9.4.2........................................................................ Inducia constructiv 26 9.4.3............................................................... Recurene liniare omogene 26 9.4.4........................................................... Recurene liniare neomogene 28 9.4.5....................................................................... Schimbarea variabilei 31 Implementarea algoritmilor..................................................................33
10
Structuri de date 40 10.1 10.2 10.3 10.4 10.5
Cum implementm structurile de date?................................................43
Stive.....................................................................................................45 Cozi.....................................................................................................51 Liste nlnuite ....................................................................................55 Arbori..................................................................................................64 10.5.1............................................................................. Noiuni generale 10.5.2................................................................................... Arbori binari 10.5.3................................................................. Arbori binari de cutare 10.6................................................................................... Tabele de repartizare 10.6.1 Tratarea coliziunilor.................................................................90 3Y10.7 Cozi de prioritate...............................................................................92 10.7.1 Ansamble.................................................................................94
12.1.2 Recursivitatea nu nseamn recuren...................................143
Prezentarea metodei Divide et Impera...............................................145 Cutare binar....................................................................................146 Sortarea prin interclasare (MergeSort)..............................................149 Sortarea rapid (QuickSort)...............................................................152 Expresii aritmetice.............................................................................157
13 Algoritmi Greedy
167
13.1 Problema spectacolelor (selectarea activitilor)...............................168
13.1.1 Demonstrarea corectitudinii algoritmului............................169 13.1.2 Soluia problemei spectacolelor............................................171 13.2 Elemente ale strategiei Greedy..........................................................173 13.2.1 Proprietatea de alegere Greedy..............................................176 13.2.2 Sub structur optim.............................................................176 13.3 Minimizarea timpului mediu de ateptare ........................................177 Interclasarea optim a mai multor iruri ordonate 180