1-AIN-105: Efektívne algoritmy a dátové štruktúry Zima 2022 Prednášky a poznámky |
Info | Domáce úlohy | Prednášky a poznámky
Na tejto stránke nájdete orientačný rozvrh semestra. Tento rozvrh
bude aktualizovaný vždy po skončení príslušného týždňa prednášok,
takisto budú pribúdať študijné materiály.
| ||
Literatúra: | ||
---|---|---|
|
Týždeň 19.09.2022-23.09.2022 | |
P1: Úvod. Analýza triediacich algoritmov. Asymptotická analýza, časová zložitosť / najhorší prípad, elementárne operácie, notácie O, Omega, Theta P2: Prioritné fronty. Triedenie s prioritnými frontami. Halda. C: Porovnávanie a odhadovanie časovej zložitosti Literatúra: CLSR3:1.1-1.2,2.2-2.3,3.1; CLRS3:6 |
|
Slajdy: | Poznámky a ďalšie materiály: |
---|---|
Úvod, asymptotická analýza, administratíva (prednáška): [ PDF, 63 Kb ] Haldy (prednáška): [ PDF, 23 Kb ] Analýza kódu (cvičenia): [ PDF, 149 Kb ] |
Asymptotická analýza (poznámky): [ PDF, 171 Kb ] Asymptotic Cheat Sheet: [ PDF, 56 Kb ] Theoretical Computer Science Cheat Sheet: [ PDF, 164 Kb ] |
Týždeň 26.09.2022-30.09.2022 | |
P1: Lineárna konštrukcia haldy. HeapSort. Pokročilé triedenia. Randomizovaný QuickSort. P2: Stredná hodnota. Očakávaná časová zložitosť. Analýza časovej zložitosti QuickSortu. C: Porovnavanie zložitosti pomocou limity, Príklady na haldu Literatúra: CLRS3:6.3-6.4; CLRS3:7 |
|
Slajdy: | Poznámky a ďalšie materiály: |
---|---|
HeapSort (prednáška): [ PDF, 48 Kb ] QuickSort (prednáška): [ PDF, 41 Kb ] Haldy (cvičenia): [ PDF, 1175 Kb ] |
Prioritné fronty (poznámky): [ PDF, 163 Kb ] |
Týždeň 03.10.2022-07.10.2022 | |
P1: Dolný odhad časovej zložitosti triedenia pomocou porovnaní.
Lineárne triedenia (counting sort, radix sort). P2:Slovníky. Implementácie pomocou polí a zoznamov. Binárne vyhľadávanie. Hašovacie tabuľky: hašovanie s otvorenou adresáciou, klasické hašovacie funkcie, univerzálne hašovacie funkcie, hašovanie s uzavretou adresáciou. C: pravdepodobnosti, aplikácie triedenia Literatúra: CLRS3:8.1-8.3; CLRS3:11 |
|
Slajdy: | Poznámky a ďalšie materiály: |
---|---|
Lineárne triedenia (prednáška): [ PDF, 50 Kb ] Hašovanie (prednáška): [ PDF, 57 Kb ] Triedenie (cvičenia): [ PDF, 436 Kb ] |
Pokročilé triedenia (poznámky): [ PDF, 182 Kb ] |
Týždeň 10.10.2022-14.10.2022 | |
P1: Hašovacie tabuľky s dynamickou veľkosťou. Amortizovaná analýza časovej zložitosti. Binárne vyhľadávacie stromy. AVL stromy (definície, výška) P2: AVL stromy (vyvažovanie). Scapegoat stromy. C: Príklady na hašovanie a binárne vyhľadávacie stromy Literatúra: CLRS3:11; CLRS3:17.4; CLRS3: 12,13.2 |
|
Slajdy: | Poznámky a ďalšie materiály: |
---|---|
Binárne vyhľadávacie stromy (prednáška): [ PDF, 48 Kb ] AVL stromy, Scapegoat stromy (prednáška): [ PDF, 81 Kb ] Hašovanie, binárne vyhľadávacie stromy (cvičenie): [ PDF, 208 Kb ] |
Slovníky (poznámky): [ PDF, 251 Kb ] |
Týždeň 17.10.2022-21.10.2022 | |
P1: Slovníky pre reťazce (trie, PATRICIA - komprimovaný trie). Vyhľadávanie v texte. Rabin-Karpov algoritmus. Vyhľadávanie s pomocou deterministického konečného automatu. P2: Knuth-Morris-Prattov algoritmus. Sufixové stromy. C: Vzorové riešenia DÚ1. Sufixové stromy. Literatúra: CLRS3:32 |
|
Slajdy: | Poznámky a ďalšie materiály: |
---|---|
Vyhľadávanie v texte (prednáška): [ PDF, 208 Kb ] Vyhľadávanie v texte (cvičenie): [ PDF, 128 Kb ] |
Vyhľadávanie v texte (poznámky): [ PDF, 195 Kb ] |
Týždeň 24.10.2022-28.10.2022 | |
P1: Greedy algoritmy. Problém výberu aktivít. Dokazovanie
správnosti greedy algoritmov. P2: Huffmanovo kódovanie. C: Dokazovanie správnosti greedy algoritmov (coin change problem, fractional knapsack, unit job scheduling, nákup zlata) Literatúra: CLRS3:16.1; CLRS3:16.2; CLRS3:16.3 |
|
Slajdy: | Poznámky a ďalšie materiály: |
---|---|
Výber aktivít (prednáška): [ PDF, 99 Kb ] Huffmanovo kódovanie (prednáška): [ PDF, 40 Kb ] Greedy algoritmy (cvičenie): [ PDF, 123 Kb ] |
Výber aktivít, Huffman (video): [ linka ] Greedy algoritmy (poznámky): [ PDF, 208 Kb ] |
Týždeň 30.10.2022-04.11.2022 | |
P1: Kompresia textu: Lempel-Ziv-Welch.
Dynamické programovanie. Rozmieňanie peňazí. P2: Problém batohu. C: Opakovanie na midterm, vzorové riešenie DÚ2 Literatúra: BB:8.2;CLRS3:15.3;BB:8.4 |
|
Slajdy: | Poznámky a ďalšie materiály: |
---|---|
LZW, mincovka (prednáška): [ PDF, 73 Kb ] Problém batohu (prednáška): [ PDF, 93 Kb ] Opakovanie na midterm (cvičenie): [ PDF, 207 Kb ] |
Dynamické programovanie (video): [ linka ] |
Týždeň 06.11.2022-11.11.2022 | |
P1: Najdlhšia spoločná podpostupnosť. P2: Najkratšia triangulácia. C: Príklady na dynamické programovanie Literatúra: CLRS3:15.4 |
|
Slajdy: | Poznámky a ďalšie materiály: |
---|---|
Najdlhšia spoločná podpostupnosť, Najkratšia triangulácia: [ PDF, 111 Kb ] Dynamické programovanie (cvičenie): [ PDF, 110 Kb ] |
Najkratšia triangulácia (video): [ linka ] Dynamické programovanie (poznámky): [ PDF, 189 Kb ] |
Týždeň 13.11.2022-18.11.2022 | |
P1: Rozdeľuj a panuj. Násobenie veľkých čísel.
Master theorem. P2: Dôkaz master theorem. Najbližší pár bodov. C: cvičenia odpadli Literatúra: BB:4.7,7.1-7.4; CLRS3:4.4-4.6,33.4 |
|
Slajdy: | Poznámky a ďalšie materiály: |
---|---|
Master theorem (prednáška): [ PDF, 166 Kb ] Najbližší pár bodov (prednáška): [ PDF, 123 Kb ] |
Násobenie čísel, Master theorem (video): [ linka ] Master theorem - dôkaz, Najbližší pár bodov (video): [ linka ] Rozdeľuj a panuj (poznámky): [ PDF, 275 Kb ] |
Týždeň 20.11.2022-25.11.2022 | |
P1: Základné grafové algoritmy.
Grafová terminológia, reprezentácia grafov, BFS, DFS. P2: Hľadanie najkratších ciest: Floyd-Warshallow algoritmus, Dijkstrov algoritmus C: vzorové riešenia DÚ3 a midtermu Literatúra: CLRS3:22.1-22.3;CLRS3:25.2;CLRS3:24.3 |
|
Slajdy: | Poznámky a ďalšie materiály: |
---|---|
Úvod do grafov (prednáška): [ PDF, 245 Kb ] Najkratšie cesty (prednáška): [ PDF, 59 Kb ] |
Dijkstrov algoritmus (video): [ linka ] |
Týždeň 27.11.2022-02.12.2022 | |
P1: Najlacnejšie kostry: Kruskalov algoritmus, ADT disjunktné množiny / UNION-FINDSET dátová štruktúra P2: Primov algoritmus, grafové algoritmy ako black box riešenia C: Rekurencie, rozdeľuj a panuj Literatúra: CLRS3:23; CLRS3:21 |
|
Slajdy: | Poznámky a ďalšie materiály: |
---|---|
Kruskalov algoritmus, UNION/FIND-SET (prednáška): [ PDF, 63 Kb ] Primov algoritmus, blackbox riešenia (prednáška): [ PDF, 56 Kb ] Rekurencie a rozdeľuj a panuj (cvičenie): [ PDF, 147 Kb ] |
Kruskalov algoritmus, prehľadávanie do hĺbky (video): [ linka ] Grafy (poznámky): [ PDF, 281 Kb ] |
Týždeň 04.12.2022-09.12.2022 | |
P1: NP-ťažké a NP-úplné problémy. Problém obchodného cestujúceho.
Rozhodovacie vs. optimalizačné problémy. Nedeterministické výpočty.
Trieda P a trieda NP. Problémy SAT, 3-SAT, VC, CLIQUE, HAM a nedeterministické
polynomiálny algoritmy na ich riešenie. P2: Definícia NP-ťažkých a NP-úplných problémov. Polynomiálne redukcie. Cookova veta (formulácia). Redukcia z HAM na TSP-D. Redukcia z 3-SAT na VC. C: grafové algoritmy Literatúra: CLRS3:34 alebo BB:12.5 |
|
Slajdy: | Poznámky a ďalšie materiály: |
---|---|
Nedeterministické výpočty: [ PDF, 305 Kb ] Grafové algoritmy (cvičenie): [ PDF, 164 Kb ] |
Triedy P a NP (video): [ linka ] Cookova veta, dokazovanie NP ťažkosti (video): [ linka ] NP ťažké problémy (poznámky): [ PDF, 229 Kb ] |
Týždeň 11.12.2022-16.12.2022 | |
P1: Zhrnutie semestra C: vzorové riešenia DÚ4, grafové algoritmy, opakovanie |
|
Slajdy: | Poznámky a ďalšie materiály: |
---|---|
Zhrnutie semestra: [ PDF, 219 Kb ] Grafové algoritmy (cvičenie): [ PDF, 109 Kb ] Opakovanie (cvičenie): [ PDF, 82 Kb ] |