|
|
|
||
Předmět pokrývá to nejzákladnější z efektivních algoritmů, datových struktur a teorie grafů, které by měl znát každý informatik. Spolupracuje se souběžně vyučovaným předmětem BI-ZDM, ve kterém studenti získají znalosti a dovednosti nezbytné pro vyhodnocování operační a paměťové složitosti algoritmů a naučí se prakticky používat asymptotickou matematiku. Last update: Jirát Jiří (23.01.2017)
|
|
||
Students will be able to:
Last update: Svozil Daniel (29.03.2016)
|
|
||
R:Cormen, T. H., Leiserson, C. E., Rivest, R. L. Introduction to Algorithms. The MIT Press, 2001. ISBN 0262032937. R:Handbook of Graph Theory, 2nd Edition (Discrete Mathematics and Its Applications). Chapman and Hall/CRC, 2013. ISBN 978-1439880180. Last update: Jirát Jiří (23.01.2017)
|
|
||
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 Last update: Jirát Jiří (23.01.2017)
|
|
||
An ability to solve basic algorithmic problems actively, to express the algorithmic solution in a high-level programming language (Java, C++), and knowledge of basic notions from calculus and combinatorics is assumed. Last update: Svozil Daniel (29.03.2016)
|
Teaching methods | ||||
Activity | Credits | Hours | ||
Účast na přednáškách | 1 | 28 | ||
Práce na individuálním projektu | 1.5 | 42 | ||
Příprava na zkoušku a její absolvování | 1.1 | 30 | ||
Účast na seminářích | 1 | 28 | ||
5 / 6 | 128 / 168 |