Přeskočit na hlavní obsah
Přeskočit hlavičku
Ukončeno v akademickém roce 2008/2009

Základy algoritmizace

Typ studia bakalářské
Jazyk výuky čeština
Kód 456-0521/01
Zkratka ZAL
Název předmětu česky Základy algoritmizace
Název předmětu anglicky Introduction to Algorithms
Kreditů 6
Garantující katedra Katedra informatiky
Garant předmětu doc. Mgr. Jiří Dvorský, Ph.D.

Osnova předmětu

Přednášky:
Úvodní přednáška, organizační záležitosti, seznámení se z předmětem

Pojem algoritmu a složitosti algoritmu
Lineární datové struktury - zásobník, fronta, seznam
Třídění I.
Třídění II.
Binární vyhledávací stromy I.
Binární vyhledávací stromy II.
Binární vyhledávací stromy - vyvážené varianty apod.
Hašování
Pokročilé datové struktury - skip-list, splay stromy
Vyhledávání řetězců I.
Vyhledávání řetězců II.


Projekty:
V průběhu semestru bude zpracován semestrální projekt.

Počítačové laboratoře:

Opakování konstrukcí jazyka Java, řešení elementárních příkladů

Algoritmy vyhledávání v poli

Implementace zásobníku, fronty, seznamu

Implementace třídících algoritmů I

Implementace třídících algoritmů II, implementace s využitím rozhraní Comparable

Implementace binárních vyhledávacích stromů

Binární vyhledávací stromy - využití

Binární vyhledávací stromy (vyvážené varianty), ukázka práce, částečná implementace

Hašování - implementace jednoduché hašovací tabulky, testování hašovacích funkcí

Práce s vyhladávacími algoritmy (pattern matching)

V průběhu počítačových cvičení studenti zpracovávají zápočtové testy a konzultují se cvičícími své semestrální projekty.

Povinná literatura

Studijní opora (skripta) pro ZAL
Wirth, N.: Algoritmy a štruktúry údajov, Alfa, Bratislava 1989.
Sedgewick R.: Algoritmy v C, části 1-4, SoftPress, Praha, 2003 Existuje i v anglické verzi, náročná, ale vynikající kniha.
Wróblewski P.: Algoritmy. Datové struktury a programovací techniky, Computer Press, Praha 2003

Doporučená literatura

Topfer, P.: Algoritmy a programovací techniky, Prometheus, Praha 1995.
Virius, M.: Základy algoritmizace, ČVUT Praha, 1997, skripta.
Honzík, J. a kolektiv: Programovací techniky, VUT Brno, 1987, skripta.
Harel, D.: Algorithmics, The Spirits of Computing, Addison-Wesley Publishing Company, 1993.
Sedgewick, R.: Algorithms in C++, Addison-Wesley Publishing Company, 1992.
Wood, D.: Data Structures, Algorithms and Performance, Addison-Wesley Publishing Company, 1993.
Cormen, Leiserson, Rievest: Introduction to Algorithms, MIT Press, 2001.
Obecně jakákoliv učebnice jazyka Java.