Vyučující
|
|
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
- 10 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.
|