Algoritmy II

Kombinované studium

Anotace předmětu

Výuka

Úkoly a jejich hodnocení

Studijní literatura

Software pro výuku

Ostatní učební materiály

Anotace předmětu

Předmět navazuje na obdobný předmět Algoritmy I. Náplní předmětu jsou další strategie algoritmického řešení úloh (dynamické programování, hladové algoritmy atd.) a typické příklady jejich užití.

Garant předmětu, tutor

Garantem předmětu je doc. Mgr. Jiří Dvorský, Ph.D.

Prerekvizity

Předmět Algoritmy II má jako povinnou prerekvizitu předmět Algoritmy I. To znamená, že bez úspěšného ukončení předmětu Algoritmy I nelze ukončit ani předmět Algoritmy II i když máte předmět Algoritmy II zapsán.


Výuka

Tutoriály

Tutoriál Termín Náplň
1.22. září 2023 Na tomto úvodním tutoriálu Vám budou sděleny informace o organizaci studia předmětu a informace o náplni předmětu. Konzultace k tématům: Strategie řešení transformuj a vyřeš.
2.7. října 2023 Konzultace k tématům: Záměna paměťové a časové složitosti.
3.20. října 2023 Konzultace k tématům: Dynamické programování.
4.3. listopadu 2023 Konzultace k tématům: Hladové algoritmy.
5.24. listopadu 2023 Konzultace k tématům: Strategie řešení iterativním zlepšováním.
6.8. prosince 2023 Konzultace k tématům: Meze možností algoritmického řešení problémů. P, NP a NP-úplné problémy. Zdolávání mezí možností algoritmického řešení problémů.

Konzultace

Pokud byste potřebovali nějakou záležitost řešit osobně je možné využít konzultační hodiny. Konzultaci je dobré si domluvit předem, nejlépe emailem.

Dále je možné, opět po předchozí domluvě, vést konzultaci online v prostředí MS Teams.


Úkoly a jejich hodnocení

Hodnocení v předmětu Algoritmy II se skládá ze tří částí: průběžné aktivity na tutoriálech, obhajoby projektu a závěrečné písemné práce. Všechny části jsou povinné a je nutné z každé části získat aspoň minimální počet bodů.

Průběžná aktivita na tutoriálech

Průběžná aktivita na tutoriálech znamená:

Obhajoba projektu

Závěrečná písemná práce

Hodnocení úkolů

Pro absolvování předmětu je potřeba splnit všechny výše uvedené úkoly. A zároveň u všech úkolů je nutné získat aspoň minimální počet bodů.

 Minimální počet bodůMaximální počet bodů
Průběžná aktivita na tutoriálech1530
Obhajoba projektu1530
Závěrečná písemná práce2140
Celkem51100

Obecné pokyny ke všem úkolům


Studijní literatura

Povinná literatura

  1. LEVITIN, Anany., 2012. Introduction to the Design and Analysis of Algorithms. 3rd ed. Boston: Pearson. ISBN 978-0-13-231681-1.
  2. CORMEN, Thomas H., 2001. Introduction to Algorithms. 2nd ed. Cambridge, Mass.: MIT Press. ISBN 02-620-3293-7.
  3. CORMEN, Thomas H., Charles Eric LEISERSON, Ronald L. RIVEST a Clifford STEIN, [2022]. Introduction to algorithms. Fourth edition. Cambridge, Massachusetts: The MIT Press. ISBN 978-026-2046-305.
  4. SEDGEWICK, Robert, 2003. Algoritmy v C. Praha: SoftPress. ISBN 80-864-9756-9.
  5. MAREŠ, Martin a Tomáš VALLA, 2017. Průvodce labyrintem algoritmů [online]. Praha: CZ.NIC, z.s.p.o. [cit. 2020-10-03]. CZ.NIC. ISBN 978-80-88168-19-5. Dostupné z: https://knihy.nic.cz/
  6. WRÓBLEWSKI, Piotr, 2015. Algoritmy. Brno: Computer Press. ISBN 978-80-251-4126-7.
  7. WIRTH, Niklaus, 1988. Algoritmy a štruktúry údajov. Bratislava: Alfa. ISBN 063-030-87.

Doplňková literatura

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

Software pro výuku

Vývojové prostředí pro C++

Ostatní software

Další software, který se Vám bude hodit při tvorbě Vašich programů:


Ostatní učební materiály

Prezentace z přednášek