1-AIN-105: Efektívne algoritmy a dátové štruktúry
Zima 2023
Prednášky a poznámky


Info | Domáce úlohy | Písomky a skúšky | Prednášky a poznámky | Predchádzajúce semestre


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ň 18.09.2023-22.09.2023
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:
Asymptotická analýza (prednáška):PDF, 154 Kb ]
Haldy (prednáška):PDF, 84 Kb ]
Analýza kódu (cvičenia):PDF, 310 Kb ]
Asymptotická analýza (poznámky):PDF, 183 Kb ]
Asymptotic Cheat Sheet:PDF, 56 Kb ]
Theoretical Computer Science Cheat Sheet:PDF, 164 Kb ]

Týždeň 25.09.2023-29.09.2023
P1: Administratíva.
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:
Administratíva:PDF, 121 Kb ]
HeapSort (prednáška):PDF, 92 Kb ]
QuickSort (prednáška):PDF, 44 Kb ]
Haldy (cvičenia):PDF, 1175 Kb ]
Prioritné fronty (poznámky):PDF, 172 Kb ]

Týždeň 02.10.2023-06.10.2023
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, 55 Kb ]
Hašovanie (prednáška):PDF, 57 Kb ]
Triedenie (cvičenia):PDF, 436 Kb ]
Pokročilé triedenia (poznámky):PDF, 193 Kb ]

Týždeň 09.10.2023-13.10.2023
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, 223 Kb ]
Slovníky (poznámky):PDF, 263 Kb ]

Týždeň 16.10.2023-20.10.2023
P1: Scapegoat stromy (pokr.). Slovníky pre reťazce (trie, PATRICIA - komprimovaný trie). Vyhľadávanie v texte. Rabin-Karpov algoritmus.
P2: Vyhľadávanie s pomocou deterministického konečného automatu. Knuth-Morris-Prattov algoritmus.
C: Vzorové riešenia DÚ1.
Literatúra: CLRS3:32
Slajdy:Poznámky a ďalšie materiály:
Vyhľadávanie v texte (prednáška):PDF, 247 Kb ]
Vyhľadávanie v texte (cvičenie):PDF, 133 Kb ]
Vyhľadávanie v texte (poznámky):PDF, 205 Kb ]

Týždeň 23.10.2023-27.10.2023
P1: Sufixové stromy. 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, 122 Kb ]
Huffmanovo kódovanie (prednáška):PDF, 96 Kb ]
Greedy algoritmy (cvičenie):PDF, 124 Kb ]
Výber aktivít, Huffman (video):linka ]
Greedy algoritmy (poznámky):PDF, 208 Kb ]

Týždeň 30.10.2023-03.11.2023
P1: Kompresia textu: Lempel-Ziv-Welch.
Dynamické programovanie. Rozmieňanie peňazí.
Pamiatka zosnulých
Literatúra: BB:8.2;CLRS3:15.3
Slajdy:Poznámky a ďalšie materiály:
LZW, mincovka (prednáška):PDF, 81 Kb ]

Týždeň 06.11.2023-10.11.2023
P1: Problém batohu.
P2: Najdlhšia spoločná podpostupnosť. Najkratšia triangulácia.
C: Vzorové riešenia DÚ2. Príklady na dynamické programovanie
Literatúra: BB:8.4;CLRS3:15.4
Slajdy:Poznámky a ďalšie materiály:
Problém batohu (prednáška):PDF, 93 Kb ]
Najdlhšia spoločná podpostupnosť, Najkratšia triangulácia:PDF, 111 Kb ]
Dynamické programovanie (cvičenie):PDF, 126 Kb ]
Dynamické programovanie (video):linka ]
Dynamické programovanie (poznámky):PDF, 199 Kb ]
Najkratšia triangulácia (video):linka ]

Týždeň 13.11.2023-17.11.2023
P1: Rozdeľuj a panuj. Násobenie veľkých čísel. Master theorem.
P2: Dôkaz master theorem. Najbližší pár bodov.
Deň boja za slobodu a demokraciu
Literatúra: BB:4.7,7.1-7.4; CLRS3:4.4-4.6; CLRS3: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, 287 Kb ]

Týždeň 20.11.2023-24.11.2023
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.2023-01.12.2023
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: Vzorové riešenia DÚ4. 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, 291 Kb ]

Týždeň 04.12.2023-08.12.2023
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álne algoritmy na ich riešenie.
P2: Polynomiálne redukcie. Ukážky (HAM na TSP, 3-SAT na VC).
C: grafové algoritmy
Literatúra: CLRS3:23;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, 131 Kb ]
Triedy P a NP (video):linka ]
NP ťažké problémy (poznámky):PDF, 239 Kb ]

Týždeň 11.12.2023-15.12.2023
P1: Cookova veta (formulácia). NP-ťažké a NP-úplné problémy
P2: Zhrnutie semestra
C: grafové algoritmy, opakovanie
Slajdy:Poznámky a ďalšie materiály:
Zhrnutie semestra:PDF, 235 Kb ]
Grafové algoritmy, dynamické programovanie, NP-ťažké problémy:PDF, 84 Kb ]
Cookova veta, dokazovanie NP ťažkosti (video):linka ]


Maintained by 1-AIN-105 personnel