IB108 Návrh algoritmů II

Fakulta informatiky
jaro 2009
Rozsah
2/1. 3 kr. (plus ukončení). Ukončení: zk.
Vyučující
prof. RNDr. Ivana Černá, CSc. (přednášející)
RNDr. Nikola Beneš, Ph.D. (cvičící)
RNDr. Petra Budíková, Ph.D. (pomocník)
doc. RNDr. Milan Češka, Ph.D. (pomocník)
RNDr. Jakub Chaloupka, Ph.D. (pomocník)
prof. Dr. rer. nat. RNDr. Mgr. Bc. Jan Křetínský, Ph.D. (pomocník), Mgr. Bc. Martin Šmérek (zástupce)
RNDr. Jana Tůmová, Ph.D. (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Rozvrh
Po 14:00–15:50 D2
  • Rozvrh seminárních/paralelních skupin:
IB108/01: každé liché pondělí 16:00–17:50 B011, N. Beneš
IB108/02: každé sudé pondělí 16:00–17:50 B011, N. Beneš
IB108/03: každé liché úterý 18:00–19:50 B011, N. Beneš
IB108/04: každé sudé úterý 18:00–19:50 B011, N. Beneš
IB108/05: každé liché pondělí 18:00–19:50 B011, N. Beneš
Předpoklady
IB002 Návrh algoritmů I
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
Cíle předmětu
Kurz navazuje na úvodní kurz Návrh algoritmů I. Prezentuje algoritmické koncepty a konstrukty bez jejich přímé návaznosti na jakýkoliv programovací jazyk a bez požadavků na jejich praktickou programovou realizaci. Cílem je naučit studenta konstruovat a analyzovat algoritmy v kontextu pseudokódů, což umožní studentovi rozlišit mezi obecnými koncepty a specifikami konkrétních programovacích jazyků. Kurz uvádí pokročilé techniky analýzy algoritmů. Rozšiřuje seznam algoritmických strategií a charakterizuje typ problémů, pro které jsou jednotlivé strategie vhodné. Nové datové struktury jsou prezentovány spolu s příklady algoritmů, které je využívají, přičemž důraz je kladen na propojenost návrhu algoritmu a návrhu datové struktury.
Osnova
  • Techniky analýzy algoritmů: složitost algoritmů, amortizovaná analýza složitosti.
  • Techniky návrhu algoritmů: rozděl a panuj, dynamické programování, hladové strategie, backtracking, lokální vyhledávání.
  • Datové struktury: binomiální a Fibonacciho haldy, datové struktury pro reprezentaci disjunktních množin.
  • Grafové algoritmy: kostry v grafech, problém nejkratších cest, detekce cyklů, toky v sítích, párování.
  • Algoritmy pro práci s řetězci: přímý algoritmus, Rabin-Karpův algoritmus, užití konečných automatů.
Literatura
  • DASGUPTA, Sanjoy, Christos Ch. PAPADIMITRIOU a Umesh Virkumar VAZIRANI. Algorithms. 1st ed. Boston: McGraw-Hill Companies, 2008, x, 320. ISBN 9780073523408. info
  • KLEINBERG, Jon a Éva TARDOS. Algorithm design. Boston: Pearson/Addison-Wesley, 2006, xxiii, 838. ISBN 0321372913. URL info
  • CORMEN, Thomas H., Charles Eric LEISERSON a Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
Záložky
https://is.muni.cz/ln/tag/FI:IB108!
Metody hodnocení
Výuka probíhá formou přednášky a cvičení. V průběhu semestru student samostaně řeší zadané algoritmické problémy. Kurz je ukončen písemnou zkouškou. Podmínkou přístupu ke zkoušce je získání určeného počtu bodů ze samostatně řešených problémů.
Navazující předměty
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2009/IB108/index.qwarp
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Předmět je zařazen také v obdobích jaro 2003, jaro 2004, jaro 2005, jaro 2006, jaro 2007, jaro 2008, jaro 2010, jaro 2011, jaro 2012, jaro 2013.