|
Vyučující
|
-
Juřena Tomáš, Ing.
-
Dulík Tomáš, Ing. Ph.D.
-
Jurča Adam, Ing.
-
Kadavý Tomáš, Ing. Ph.D.
|
|
Obsah předmětu
|
- Co je to algoritmus. Metody specifikace, vyčíslitelnost a složitost algoritmů - Abstraktní datové typy: množina, lineární seznam, zásobník, fronta - Příklad zásobníkového algoritmu: vyhodnocování výrazů v postfixu, převod Infix2postfix. - Binární stromy, operace s nimi - rekurzivní a nerekurzivní implementace - Vyvážené stromy, AVL stromy - Tabulky. Tabulka s rozptýlenými položkami (hashovací tabulka) - Algoritmy třídění (řazení) - Bubble Sort, Insert Sort, Selection Sort, Quick Sort, Heap Sort, Radix Sort - Algoritmy pro zpracování textů. Konečné automaty. Implementace regulárních výrazů. - Gramatiky. Algoritmus syntaktické analýzy pro gramatiku typu LL(1). - Zotavení z chyb při syntaktické analýze. Doplnění akcí sémantiky. Příklad - program pro vyhodnocení aritmetických výrazů - Algoritmy vyhledávání podřetězců. - Grafy a grafové algoritmy - Algoritmy pro matematické výpočty
|
|
Studijní aktivity a metody výuky
|
Přednášení, Cvičení na počítači
- Účast na výuce
- 56 hodin za semestr
- Příprava na zápočet
- 23 hodin za semestr
- Domácí příprava na výuku
- 28 hodin za semestr
- Semestrální práce
- 28 hodin za semestr
|
| Předpoklady |
|---|
| Odborné znalosti |
|---|
| Programování v C jazyku |
| Programování v C jazyku |
| Výsledky učení |
|---|
| vysvětlit principy dynamických datových struktur |
| vysvětlit principy dynamických datových struktur |
| popsat algoritmy pro práci s nimi |
| popsat algoritmy pro práci s nimi |
| vysvětlit binární stromy a operace s nimi |
| vysvětlit binární stromy a operace s nimi |
| definovat principy algoritmů pro vyhledávání dat |
| definovat principy algoritmů pro vyhledávání dat |
| definovat principy algoritmů pro řazení dat |
| definovat principy algoritmů pro řazení dat |
| Odborné dovednosti |
|---|
| vyhodnocovat výrazy v postfixu |
| vyhodnocovat výrazy v postfixu |
| aplikovat algoritmy pro práci s textem |
| aplikovat algoritmy pro práci s textem |
| aplikovat grafové algoritmy |
| aplikovat grafové algoritmy |
| aplikovat algoritmy pro matematické výpočty |
| aplikovat algoritmy pro matematické výpočty |
| aplikovat algoritmy vyhledávání podřetězců |
| aplikovat algoritmy vyhledávání podřetězců |
| Vyučovací metody |
|---|
| Odborné znalosti |
|---|
| Přednášení |
| Přednášení |
| Cvičení na počítači |
| Cvičení na počítači |
| Hodnotící metody |
|---|
| Písemná zkouška |
| Písemná zkouška |
| Analýza výkonů studenta |
| Analýza výkonů studenta |
|
Doporučená literatura
|
-
AHO, A. V., HOPCROFT, J. E., ULLMAN, J. D. Data Structures and Algorithms. Addison-Wesley, 1983.
-
AHO, A. V., HOPCROFT, J. E., ULLMAN, J. D. The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974.
-
CORMEN, T., LEISERSON, Ch., RIVEST, R., STEIN, C. Introduction to Algorithms. McGraw-Hill, 2001.
-
DRÓZD, J., KRYL, R. Začínáme s programováním. Grada, 1992.
-
HONZÍK, J.,HRUŠKA, T.,MÁČEL, M. Vybrané kapitoly z programovacích technik. VUT Brno, 1991.
-
KNUTH, D. The Art of Computer programming, Vol.1,2,3. Addison Wesley, 1968.
-
VIRIUS, M. Základy algoritmizace. Praha : ČVUT, 1995. ISBN 80-01-01346-4.
-
WIRTH, N. Algorithmy a štruktúry údajov: Algorithm+Data Structures = Programs. Bratislava, 1989.
|