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

Algoritmy I

Typ studia bakalářské
Jazyk výuky čeština
Kód 460-2001/04
Zkratka ALG I
Název předmětu česky Algoritmy I
Název předmětu anglicky Algorithms I
Kreditů 4
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
První program v C++, algoritmus, program, překlad, procesor, proces
Proměnné, konstanty, datové typy
Řídící konstrukce jazyka (sekvence, větvení, cyklus)
Strukturované programování v C++, funkce a jejich parametry, volání funkcí
Pole
Vyhledávání v poli (sekvenční, půlením intervalu)
Seznam, fronta, zásobník
Rekurze, vymezení pojmu, příklady, jednoduchý backtracking
Třídění, vymezení problému, adresní třídění
Základní třídící algoritmy (třídění vkládáním, výběrem, bublinové)
Pokročilé třídící algoritmy (QuickSort, HeapSort, MergeSort)

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

Seznámení se s vývojovým prostředím, plánováno Visual Studio 2015
Implementace a ladění triviálních programů - Hello world
Implementace a ladění programů se základními konstrukcemi např. výpočet největšího společného dělitele
Práce s funkcemi, parametry volané hodnotou, odkazem, konstantní parametry
Práce s polem
Implementace algoritmů vyhledávání v poli
Implementace zásobníku, ukázky využití
Rekurzivní funkce
Rekurzivní funkce
Třídící algoritmy

Náplň projektů

Zadání projektů budou směřována k využití třídících a vyhledávacích algoritmů, práci s poli a podobně.

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

Advised literature

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.