|
|
|
||
Předmět pokrývá základní principy tvorby efektivních algoritmů, datových struktur a teorie grafů, které by měl znát každý informatik.
Poslední úprava: Svozil Daniel (04.01.2019)
|
|
||
Studenti budou umět:
Poslední úprava: Kubová Petra (02.01.2018)
|
|
||
Pro zı́skánı́ zápočtu je potřeba dostatek bodů ze semestrálního testu a z programovacích úloh. Zkouška se skládá z povinné pı́semné části a z volitelné ústnı́ části. Poslední úprava: Svozil Daniel (07.02.2018)
|
|
||
Z:Cormen, T. H., Leiserson, C. E., Rivest, R. L. Introduction to Algorithms. The MIT Press, 2001. ISBN 0262032937. Z:Handbook of Graph Theory, 2nd Edition (Discrete Mathematics and Its Applications). Chapman and Hall/CRC, 2013. ISBN 978-1439880180. Poslední úprava: Kubová Petra (02.01.2018)
|
|
||
Osnovy přednášek: 1. Motivace a úvod do teorie grafů 2. Základní definice a pojmy teorie grafů I 3. Základní definice a pojmy teorie grafů II 4. Řadící algoritmy O(n^2). Binární haldy a HeapSort. 5. Nafukovací pole, amortizovaná složitost, binomiální haldy 6. Vyhledávací stromy a jejich vyvažování 7. Pravděpodobnostní algoritmy a jejich složitost. QuickSort. 8. Rekurzivní algoritmy a metoda Rozděl a panuj. Lineární řazení 9. Rozptylování (hešování) a vyhledávací tabulky 10. Dynamické programování 11. Minimální kostry grafu 12. Nejkratší cesty v grafech 13. Rezerva
Osnovy cvičení: 1. Motivace a úvod do teorie grafů 2. Základní definice a pojmy teorie grafů I 3. Základní definice a pojmy teorie grafů II 4. Řadící algoritmy O(n^2). Binární haldy a HeapSort. 5. Nafukovací pole, amortizovaná složitost, binomiální haldy 6. Vyhledávací stromy a jejich vyvažování 7. Pravděpodobnostní algoritmy a jejich složitost. QuickSort. 8. Rekurzivní algoritmy a metoda Rozděl a panuj. Lineární řazení 9. Rozptylování (hešování) a vyhledávací tabulky 10. Dynamické programování 11. Minimální kostry grafu 12. Nejkratší cesty v grafech 13. Rezerva Poslední úprava: Svozil Daniel (04.01.2019)
|
|
||
Předpokládá se schopnost aktivního algoritmického řešení základních typů úloh, znalost nějakého vyššího programovacího jazyka (Java, C++) a znalost základních pojmů z matematické analýzy a kombinatoriky. Poslední úprava: Kubová Petra (02.01.2018)
|
Zátěž studenta | ||||
Činnost | Kredity | Hodiny | ||
Konzultace s vyučujícími | 1 | 28 | ||
Účast na přednáškách | 1 | 28 | ||
Práce na individuálním projektu | 2 | 56 | ||
Příprava na zkoušku a její absolvování | 1 | 28 | ||
Účast na seminářích | 1 | 28 | ||
6 / 6 | 168 / 168 |