|
|
|
||
Studenti získají přehled efektivních algoritmů a datových struktur pro řešení standardních úloh, především vyhledávání a řazení, nad dynamicky se měnícími daty. Umějí navrhovat a implementovat takové algoritmy, ovládají metody používané pro analýzu operační a paměťové složitosti algoritmů. Rozumějí algoritmům pro řazení o složitosti O(n.log n), pro speciální řazení s lineární složitostí, algoritmům asociativního a adresního vyhledávání. Umějí používat příslušné dynamické datové struktury, jako např. rozptylovací tabulky, vyhledávací stromy, vyvažované vyhledávací stromy, haldy, či B-stromy. Dokážou pracovat s rekurzivními algoritmy a dynamickým programováním.
Poslední úprava: Jirát Jiří (09.01.2014)
|
|
||
Studenti budou umět: budou mít důkladný přehled efektivních algoritmů pro řešení standardních problémů. pracovat s asymptotickou notací používanou při vyjadřování složitosti. budou rozumět algoritmům pro řazení o složitosti O(n.log n), pro speciální řazení s lineární složitostí a pro řazení ve vnějších pamětech, algoritmům asociativního a adresního vyhledávání (vyhledávací stromy, rozptýlené tabulky, vícerozměrné vyhledávací stromy). znát a používat pokročilé datové struktury. ovládat metody používané pro analýzu paměťové a operační složitosti algoritmů. Poslední úprava: Jirát Jiří (13.01.2014)
|
|
||
Z:Cormen, T. H., Leiserson, C. E., Rivest, R. L. Introduction to Algorithms. The MIT Press, 2001. ISBN 0262032937. Poslední úprava: Jirát Jiří (09.01.2014)
|
|
||
1. Datové struktury 1: Základní ADT. 2. Datové struktury 2: Rozptylovací tabulky. 3. Algoritmy řazení 1.^ 4. Datové struktury 3: Stromy, haldy. 5. Algoritmy řazení 2. 6. Datové struktury 4: Pokročilé haldy. 7. Vyhledávání a vyhledávací stromy. 8. Rekurzivní algoritmy. 9. B-stromy a jejich varianty. 10. Vyvažované vyhledávací stromy. 11. Dynamické programování. 12. Algoritmy výpočetní geometrie. Poslední úprava: Jirát Jiří (09.01.2014)
|
|
||
https://edux.fit.cvut.cz/courses/BI-EFA/ (nutné přihlášení) Poslední úprava: Jirát Jiří (09.01.2014)
|
|
||
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: Jirát Jiří (09.01.2014)
|
Zátěž studenta | ||||
Činnost | Kredity | Hodiny | ||
Úč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 / 5 | 128 / 140 |