Logo ČVUT
Loading...
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2011/2012

Efektivní algoritmy

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
BIK-EFA Z,ZK 5 13+4 česky
Přednášející:
Petr Matyáš, Jiří Chludil
Cvičící:
Petr Matyáš, Jiří Chludil
Předmět zajišťuje:
katedra teoretické informatiky
Anotace:

Studenti získají důkladný přehled efektivních algoritmů pro řešení standardních problémů. Umějí pracovat s asymptotickou notací používanou při vyjadřování složitosti. Rozumějí 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). Znají a umějí používat pokročilé datové struktury. Ovládají metody používané pro analýzu paměťové a operační složitosti algoritmů.

Požadavky:

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.

Osnova přednášek:

1. Algoritmy nad poli, vícerozměrná pole a mapovací funkce. ADT Seznam, Fronta, Zásobník.^2. ADT Tabulka, Množina. Rozptylovací tabulky.^3.Základní algoritmy řazení. Stromy a binární haldy.^4. Algoritmy řazení. Binomiální a Fibonnaciho haldy.^5. Vyhledávání a vyhledávací stromy. Rekurzivní algoritmy.^6. B-stromy a jejich varianty. Vyvažované vyhledávací stromy.^7.Dynamické programování.

Osnova cvičení:

1. Procvičování a opakováni diskrétní a asymptotické matematiky. [2] Implementace, stabilizace, analýza složitosti algoritmů řazení. Implementace a analýza složitosti algoritmů externího řazení. Srovnání rekurzivních a iteračních algoritmů, převody. Použití pokročilých hald. Použití metod dynamického programování.

2. Adresní vyhledávání, návrh mapovacích funkcí. Používání rozptýlených tabulek, otevřené a řetězené adresování. Vyhledávací a binární vyhledávací stromy, hledání vzoru v textu. Vyhledávací stromy pro vícerozměrné vyhledávání, vyhledávání nejbližšího souseda. Vyvažování vyhledávacích stromů.

Cíle studia:

Cílem předmětu je naučit studenty standardní soubor algoritmů a naučit jej rozpoznávat vhodné příležitosti pro použití jejich různých variant. Současně s návrhem či přizpůsobováním algoritmů se studenti mají naučit i základní metody analýzy složitosti algoritmů jakožto hlavního kritéria jejich efektivnosti. Cílem je rozvíjet u studentů schopnost samostatného návrhu a analýzy algoritmů.

Studijní materiály:

1. Cormen, T. H., Leiserson, C. E., Rivest, R. L. ''Introduction to Algorithms''. The MIT Press, 2001. ISBN 0262032937.

2. Sedgewick, R. ''Algorithms in Java, Parts 1-4 (3rd Edition)''. Addison-Wesley Professional, 2002. ISBN 0201361205.

Poznámka:

Rozsah=konzultace+seminae, Prednasejici: prof. Ing. Pavel Tvrdík CSc.

Rozvrh na zimní semestr 2011/2012:
Rozvrh není připraven
Rozvrh na letní semestr 2011/2012:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 9. 7. 2012
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet1445006.html