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

Algoritmy II

Typ studia bakalářské
Jazyk výuky čeština
Kód 460-2003/02
Zkratka ALG II
Název předmětu česky Algoritmy II
Název předmětu anglicky Algorithms II
Kreditů 5
Garantující katedra Katedra informatiky
Garant předmětu doc. Mgr. Jiří Dvorský, Ph.D.

Osnova předmětu

Náplň přednášek

Úvodní přednáška - organizační záležitosti, souhrn nutných znalostí z předmětu Algoritmy I
Lineární datové struktury - abstraktní datové struktury, zásobník, fronta, seznam
Dynamická alokace paměti - pointery, operátory reference, dereference, alokování a dealokování paměti
Spojová implementace lineárních datových struktur - využití OOP a dynamicky alokovaných struktur
Grafy - základní pojmy, graf jako datová struktura, možnosti implementace grafu
Algoritmy průchodů grafem - průchod grafu do hloubky a do šířky, aplikace průchodu grafem
Binární vyhledávací stromy I - základní pojmy, vyhledávání
Binární vyhledávací stromy II - vkládání, rušení vrcholů, průchody stromem
Vyvážené a vícecestné stromy - AVL-stromy, red-black stromy. B-stromy
Hašování - hašovací tabulky, metody řešení kolizí
Vyhledávání v textu - vyhledávání jednoho a více vzorků, elementární lexikální analýza textu
Jednoduchý překladač - překlad aritmetických a logických výrazů, postfixová notace a její interpretace pomocí zásobníku
Techniky řešení problémů - rozděl a panuj, žravý algoritmus, dynamické programování


Náplň počítačových cvičení

Opakování z předmětu Algoritmy I
Implementace zásobníku, fronty, seznamu v poli
Dynamická alokace paměti
Spojová implementace seznamu
Grafy, možnosti implementace grafů
Průchody grafem
Binární stromy
Využití hašovacích tabulek
Vyhledávání v textu
Překladač založený na rekurzivním sestupu


Náplň projektů

Zadání projektů budou směřovat ke zvládnutí OOP.

Povinná literatura

LEVITIN, Anany. Introduction to the Design and Analysis of Algorithms. 3rd ed. Boston: Pearson, 2012. ISBN 978-0-13-231681-1 .
CORMEN, Thomas H. Introduction to algorithms. 2nd ed. Cambridge, Mass.: MIT Press, 2001. ISBN 02-620-3293-7.
SEDGEWICK, Robert. Algoritmy v C. Praha: SoftPress, 2003. ISBN 80-864-9756-9.
WRÓBLEWSKI, Piotr. Algoritmy. Brno: Computer Press, 2015. ISBN 978-80-251-4126-7 .
WIRTH, N. Algoritmy a štruktúry údajov, Alfa, Bratislava 1989.
Studijní opora (skripta), dostupné na stránkách garanta předmětu, www.cs.vsb.cz/dvorsky

Doporučená literatura

STROUSTRUP, Bjarne. C++ programovací jazyk. Praha: Softwarové Aplikace a Systémy, 1997. ISBN 80-901-5072-1.
VIRIUS, Miroslav. Pasti a propasti jazyka C++. 2., aktualiz. a rozš. vyd. Brno: CP Books, 2005. ISBN 80-251-0509-1.
SCHILDT, Herbert. Nauč se sám C++: [poznej, vyzkoušej, používej]. Praha: SoftPress, 2001. ISBN 80-864-9713-5.
ECKEL, Bruce. Myslíme v jazyku C++. Praha: Grada, 2000. Knihovna programátora (Grada). ISBN 80-247-9009-2.