FI:IV003 Algoritmy a dat. struktury II - Informace o předmětu
IV003 Algoritmy a datové struktury II
Fakulta informatikyjaro 2019
- Rozsah
- 2/2. 4 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. Tomáš Effenberger, Ph.D. (cvičící)
Mgr. Jan Horáček (cvičící)
RNDr. Jan Mrázek (cvičící)
RNDr. Samuel Pastva, Ph.D. (cvičící)
RNDr. Martin Jonáš, Ph.D. (pomocník)
RNDr. David Klaška (pomocník) - Garance
- prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky - Rozvrh
- St 20. 2. až St 15. 5. St 12:00–13:50 D2
- Rozvrh seminárních/paralelních skupin:
IV003/01: Čt 21. 2. až Čt 16. 5. Čt 14:00–15:50 B410, T. Effenberger, J. Horáček
IV003/02: Čt 21. 2. až Čt 16. 5. Čt 16:00–17:50 A217, S. Pastva
IV003/03: Čt 21. 2. až Čt 16. 5. Čt 10:00–11:50 A318, S. Pastva
IV003/04: St 18:00–19:50 B410, J. Mrázek - Předpoklady
- ( IB002 Algoritmy a datové struktury || PROGRAM(N-MA)) && ! IB108 Algoritmy a dat. struktury II
Kurz navazuje na přednášku IB002 Algoritmy a datové struktury 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
- Aplikovaná informatika (program FI, B-AP)
- Bioinformatika (program FI, B-AP)
- Informatika a druhý obor (program FI, B-EB)
- Informatika a druhý obor (program FI, B-FY)
- Informatika a druhý obor (program FI, B-IO)
- Informatika a druhý obor (program FI, B-MA)
- Informatika a druhý obor (program FI, B-TV)
- Informatika ve veřejné správě (program FI, B-AP)
- Matematická informatika (program FI, B-IN)
- Paralelní a distribuované systémy (program FI, B-IN)
- Počítačová grafika a zpracování obrazu (program FI, B-IN)
- Počítačové sítě a komunikace (program FI, B-IN)
- Počítačové systémy a zpracování dat (program FI, B-IN)
- Programovatelné technické struktury (program FI, B-IN)
- Programovatelné technické struktury (program FI, N-IN)
- Služby - výzkum, řízení a inovace (program FI, N-AP)
- Sociální informatika (program FI, B-AP)
- Umělá inteligence a zpracování přirozeného jazyka (program FI, B-IN)
- Cíle předmětu
- Kurz navazuje na úvodní kurz Algoritmy a datové struktury 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.
- Výstupy z učení
- Student bude po absolvování předmětu schopen:
- aktivně používat, modifikovat a analyzovat pokročilé algoritmy pro průzkum grafů a pro práci s řetěczi,
- aktivně používat pokročilé techniky návrhu algoritmů (dynamické programování, hladové techniky) při konstrukci algoritmů a bude rozlišovat jejich specifika a vzájemné rozdíly,
- aktivně používat a modifikovat pokročilé dynamické datové struktury a používat je při návrhu efektivních algoritmů,
- analyzovat časovou složitost a dokazovat korektnost algoritmů, - 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: problém nejkratších cest z jednoho zdroje (Bellmanův-Fordův algoritmus), obecný problém nejkraších cest (Floydův-Warhallův algoritmus, násobení matic, Johnsonův algoritmus pro řídké grafy). Toky v sítích (Fordova-Fulkersonova metoda, metoda push-relabel), párování.
- Algoritmy pro práci s řetězci: přímý algoritmus, užití konečných automatů, Rabin-Karpův algoritmus, algoritmus KMP.
- Literatura
- povinná literatura
- KLEINBERG, Jon a Éva TARDOS. Algorithm design. Boston: Pearson/Addison-Wesley, 2006, xxiii, 838. ISBN 0321372913. URL info
- doporučená literatura
- DASGUPTA, Sanjoy, Christos Ch. PAPADIMITRIOU a Umesh Virkumar VAZIRANI. Algorithms. 1st ed. Boston: McGraw-Hill Companies, 2008, x, 320. ISBN 9780073523408. info
- CORMEN, Thomas H., Charles Eric LEISERSON a Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989, xvii, 1028. ISBN 0070131430. info
- Výukové metody
- přednášky a cvičení. Studenti samostatně řeší algoritmické problémy.
- 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/jaro2018/IV003/index.qwarp
- Další komentáře
- Studijní materiály
Předmět je vyučován každoročně.
Předmět byl dříve vypisován pod kódem IB108.
- Statistika zápisu (jaro 2019, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/jaro2019/IV003