Předmět: Algoritmy a datové struktury

» Seznam fakult » FAI » AUIUI
Název předmětu Algoritmy a datové struktury
Kód předmětu AUIUI/AE4AL
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Bakalářský
Rok studia nespecifikován
Semestr Letní
Počet ECTS kreditů 5
Vyučovací jazyk Čeština, Angličtina
Statut předmětu nespecifikováno
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Dostupnost předmětu Předmět je nabízen přijíždějícím studentům
Vyučující
  • Dulík 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 - 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í
Cvičení na počítači
Cvičení na počítači
Přednášení
Hodnotící metody
Analýza výkonů studenta
Písemná zkouška
Písemná zkouška
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.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr