IB002 Algoritmy a datové struktury I

Fakulta informatiky
jaro 2016
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. Peter Bezděk, Ph.D. (cvičící)
RNDr. František Blahoudek, Ph.D. (cvičící)
Mgr. Bc. Tomáš Janík (cvičící)
Mgr. Jan Ježek (cvičící)
RNDr. Henrich Lauko (cvičící)
Bc. Tomáš Novotný (cvičící)
doc. Mgr. Jan Obdržálek, PhD. (cvičící)
RNDr. Filip Opálený (cvičící)
Kristýna Pavlíčková (cvičící)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
RNDr. Kristína Pšorn Zákopčanová (cvičící)
doc. RNDr. Vojtěch Řehák, Ph.D. (cvičící)
Mgr. Tomáš Zábojník (cvičící)
Mgr. Peter Benčík (pomocník)
Mgr. Jan Koniarik (pomocník)
Mgr. Karel Kubíček (pomocník)
RNDr. Jan Mrázek (pomocník)
RNDr. Vladimír Ulman, Ph.D. (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
Po 12:00–13:50 D3, Po 12:00–13:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB002/K21: Čt 16:00–17:50 B204, T. Novotný
IB002/T01: Út 23. 2. až Pá 20. 5. Út 15:45–17:20 KOM 106, T. Janík, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB002/T02: St 24. 2. až Pá 20. 5. St 14:10–16:35 KOM 106, T. Janík, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB002/01: Po 8:00–9:50 B410, J. Plhák
IB002/02: Po 10:00–11:50 A318, F. Blahoudek
IB002/03: Po 14:00–15:50 A319, K. Pavlíčková
IB002/04: Po 16:00–17:50 A217, J. Obdržálek
IB002/05: Po 16:00–17:50 A218, H. Lauko
IB002/06: Po 18:00–19:50 A318, N. Beneš
IB002/07: Út 10:00–11:50 A218, F. Blahoudek
IB002/08: Út 10:00–11:50 B410, F. Opálený
IB002/09: Út 14:00–15:50 B204, H. Lauko
IB002/10: Út 16:00–17:50 B204, P. Bezděk
IB002/11: Út 16:00–17:50 B410, J. Obdržálek
IB002/12: Út 18:00–19:50 A218, T. Zábojník
IB002/13: St 8:00–9:50 C511, J. Ježek
IB002/14: St 12:00–13:50 A319, V. Řehák
IB002/15: St 12:00–13:50 B410, T. Novotný
IB002/16: St 14:00–15:50 A218, N. Beneš
IB002/17: St 16:00–17:50 B410, F. Opálený
IB002/18: St 18:00–19:50 B410, P. Bezděk
IB002/19: Čt 8:00–9:50 B410, J. Ježek
IB002/20: Čt 10:00–11:50 A318, J. Obdržálek
IB002/22: Pá 8:00–9:50 B410, K. Pšorn Zákopčanová
IB002/23: Pá 10:00–11:50 A217, K. Pšorn Zákopčanová
Předpoklady
IB001 Úvod do prog. skrze C || IB111 Úvod do prog. (Python) || IB999 Vstupní test z programování
Předpokládá se, že posluchači mají znalosti v rozsahu předmětů IB001 Úvod do programování skrze C anebo IB111 Úvod do programování skrze Python. Studenti by měli být schopni používat základní programátorské konstrukce (např. podmínky, cykly, funkce, základní datové typy) a znát několik základních algoritmů.
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
předmět má 21 mateřských oborů, zobrazit
Cíle předmětu
Kurs probírá základní techniky analýzy algoritmů, datové struktury a operace nad nimi. Cílem kurzu je získat dovednosti v používání základních datových struktur a algoritmů a zároveň schopnost navrhovat, analyzovat a dokazovat správnost algoritmů za použití probíraných technik analýzy a návrhu algoritmů.
Osnova
  • Základy analýzy algoritmů: Korektnost algoritmu, vstupní a výstupní podmínky, parciální korektnost, konvergence, verifikace. Délka výpočtu, složitost algoritmu, složitost problému. Asymptotická analýza časové a prostorové složitosti, růst funkcí.
  • Fundamentální datové struktury: Seznamy, fronty. Binární haldy, representace množin. Binární vyhledávací stromy, vyvážené stromy.
  • Řadicí algoritmy: Řazení rozdělováním, slučováním, haldou, dolní odhad složitosti.
  • Základní grafové algoritmy: Representace grafů. Procházení grafu do hloubky, zúplnění uspořádání, silně souvislé komponenty. Procházení grafu do šířky, Dijkstrův algoritmus.
Literatura
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. 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
Kurs probíhá formou přednášek a cvičení k přenáškám.
Metody hodnocení
Závěrečná písemná zkouška na konci semestru. Podmínkou účasti na závěrečné zkoušce je splnění průběžného hodnocení z cvičení, které se skládá z pravidelných písemných testů. Podrobnosti jsou zveřejněny v Interaktivní osnově předmětu https://is.muni.cz/auth/el/1433/jaro2016/IB002/index.qwarp
Navazující předměty
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2016/IB002/index.qwarp
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Nachází se v prerekvizitách jiných předmětů
Předmět je zařazen také v obdobích jaro 2003, jaro 2004, jaro 2005, jaro 2006, jaro 2007, jaro 2008, jaro 2009, jaro 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2014, jaro 2015, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.