IB002 Algoritmy a datové struktury I

Fakulta informatiky
jaro 2025
Rozsah
2/2/1. 4 kr. (plus ukončení). Ukončení: zk.
Vyučováno kontaktně
Vyučující
prof. RNDr. Ivana Černá, CSc. (přednášející)
Mgr. Jakub Balabán (cvičící)
RNDr. Nikola Beneš, Ph.D. (cvičící)
Kateřina Borošová (cvičící)
Vojtěch Brdečko (cvičící)
Mgr. Tomáš Foltýnek, Ph.D. (cvičící)
Vojtěch Kůr (cvičící)
Mgr. Tomáš Macháček (cvičící)
RNDr. Vít Musil, Ph.D. (cvičící)
doc. Mgr. Jan Obdržálek, PhD. (cvičící)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
doc. RNDr. Vojtěch Řehák, Ph.D. (cvičící)
Tereza Siková (cvičící)
Bc. Jakub Šárník (cvičící)
Mgr. Matěj Žáček (cvičící)
Garance
prof. RNDr. Ivana Černá, CSc.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Předpoklady
( IB015 Neimperativní programování || IB111 Základy programování ) && !NOW( IB114 Úvod do progr. a alg. II )
Předpokládá se, že posluchači mají znalosti v rozsahu předmětů IB111 Úvod do programování a IB000 Matematické základy informatiky. Studenti by měli být schopni používat základní programátorské konstrukce (např. podmínky, cykly, funkce, základní datové typy) v jazyce Python, znát principy rekurze a několik základních algoritmů. Dále se předpokládá znalost základních matematických pojmů (v rozsahu předmětu IB000); schopnost porozumět logické struktuře matematické věty a matematického důkazu, speciálně matematické indukci; ovládat diskrétní matematické struktury jako konečné množiny, relace, funkce a grafy, včetně jejich používání v informatice. IB114 je podobný předmět určený odlišné studijní programy.
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á 37 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ů. Současně studenti získavají dovednosti v implementaci navržených algoritmů v konkrétním programovacím jazyce (Python).
Výstupy z učení
Student bude po absolvování předmětu schopen:
- aktivně používat, modifikovat a analyzovat základní algoritmy pro řazení a pro průzkum grafů,
- aktivně používat základní techniky (rozděl a panuj, rekurze) návrhu algoritmů při konstrukci jednoduchých algoritmů,
- aktivně používat a modifikovat základní statické a dynamické datové struktury,
- pracovat s pojmy časové složitosti a korektnosti algoritmů,
- analyzovat časovou složitost a dokazovat korektnost jednoduchých iterativních a rekurzivních algoritmů,
- implementovat algoritmy ve vyučovaném programovacím jazyce (Python).
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í.
  • Základní techniky návrhu algoritmů, metoda rozděl a panuj, rekurzivní algoritmy.
  • Fundamentální datové struktury: Seznamy, fronty. Representace množin, hašovací tabulky. Binární haldy. Binární vyhledávací stromy, vyvážené stromy (B stromy, červeno-černé 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, topologické uspořádání, silně souvislé komponenty. Procházení grafu do šířky, bipartitní grafy. Nejkratší cesty, Bellmanův - Fordův algoritmus a Dijkstrův algoritmus.
Literatura
    povinná literatura
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    doporučená literatura
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Výukové metody
Kurs probíhá formou přednášek a cvičení k přednáš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/jaro2021/IB002/index.qwarp
Navazující předměty
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2021/IB002/index.qwarp
Další komentáře
Předmět je vyučován každoročně.
Výuka probíhá každý týden.
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 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.

IB002 Algoritmy a datové struktury I

Fakulta informatiky
jaro 2024
Rozsah
2/2/1. 4 kr. (plus ukončení). Ukončení: zk.
Vyučující
prof. RNDr. Ivana Černá, CSc. (přednášející)
Mgr. Jakub Balabán (cvičící)
RNDr. Nikola Beneš, Ph.D. (cvičící)
Kateřina Borošová (cvičící)
Vojtěch Brdečko (cvičící)
Mgr. Tomáš Foltýnek, Ph.D. (cvičící)
Vojtěch Kůr (cvičící)
Mgr. Tomáš Macháček (cvičící)
RNDr. Vít Musil, Ph.D. (cvičící)
doc. Mgr. Jan Obdržálek, PhD. (cvičící)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
doc. RNDr. Vojtěch Řehák, Ph.D. (cvičící)
Tereza Siková (cvičící)
Bc. Jakub Šárník (cvičící)
Mgr. Matěj Žáček (cvičící)
Garance
prof. RNDr. Ivana Černá, CSc.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Po 19. 2. až Čt 9. 5. Čt 10:00–11:50 D3, Čt 10:00–11:50 D1, kromě Čt 25. 4. ; a Čt 25. 4. 10:00–11:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB002/konzultace: Út 16:00–17:50 A319, M. Žáček, Pravidelná konzultace, není potřeba se přihlašovat. První bude 27. 2. 2024
IB002/N01: Rozvrh nebyl do ISu vložen.
IB002/N02: Rozvrh nebyl do ISu vložen.
IB002/N03: Rozvrh nebyl do ISu vložen.
IB002/N04: Rozvrh nebyl do ISu vložen.
IB002/N05: Rozvrh nebyl do ISu vložen.
IB002/N06: Rozvrh nebyl do ISu vložen.
IB002/N07: Rozvrh nebyl do ISu vložen.
IB002/N08: Rozvrh nebyl do ISu vložen.
IB002/N09: Rozvrh nebyl do ISu vložen.
IB002/N10: Rozvrh nebyl do ISu vložen.
IB002/N11: Rozvrh nebyl do ISu vložen.
IB002/N12: Rozvrh nebyl do ISu vložen.
IB002/N13: Rozvrh nebyl do ISu vložen.
IB002/N14: Rozvrh nebyl do ISu vložen.
IB002/N15: Rozvrh nebyl do ISu vložen.
IB002/N16: Rozvrh nebyl do ISu vložen.
IB002/N17: Rozvrh nebyl do ISu vložen.
IB002/N18: Rozvrh nebyl do ISu vložen.
IB002/N20: Rozvrh nebyl do ISu vložen.
IB002/N21: Rozvrh nebyl do ISu vložen.
IB002/01: Po 8:00–9:50 A218, V. Řehák
IB002/02: Po 8:00–9:50 A319, J. Obdržálek
IB002/03: Po 12:00–13:50 A218, J. Plhák
IB002/04: Po 14:00–15:50 A218, J. Plhák
IB002/05: Po 16:00–17:50 B411, V. Musil
IB002/06: Po 18:00–19:50 A319, V. Kůr
IB002/07: Út 8:00–9:50 A218, V. Řehák
IB002/08: Út 12:00–13:50 A319, V. Řehák
IB002/09: St 8:00–9:50 A318, J. Obdržálek
IB002/10: St 10:00–11:50 A318, J. Obdržálek
IB002/11: St 12:00–13:50 A319, V. Musil
IB002/12: St 16:00–17:50 B204, T. Macháček
IB002/13: St 18:00–19:50 A217, T. Siková
IB002/14: Čt 8:00–9:50 A218, T. Foltýnek
IB002/15: Čt 16:00–17:50 B411, K. Borošová
IB002/16: Po 19. 2. až Čt 9. 5. Čt 16:00–17:50 A218; a Čt 16. 5. 16:00–17:50 C525, V. Brdečko
IB002/17: Pá 8:00–9:50 A218, J. Šárník
IB002/18: Pá 10:00–11:50 A218, J. Balabán
Předpoklady
IB015 Neimperativní programování || IB111 Základy programování
Předpokládá se, že posluchači mají znalosti v rozsahu předmětů IB111 Úvod do programování a IB000 Matematické základy informatiky. Studenti by měli být schopni používat základní programátorské konstrukce (např. podmínky, cykly, funkce, základní datové typy) v jazyce Python, znát principy rekurze a několik základních algoritmů. Dále se předpokládá znalost základních matematických pojmů (v rozsahu předmětu IB000); schopnost porozumět logické struktuře matematické věty a matematického důkazu, speciálně matematické indukci; ovládat diskrétní matematické struktury jako konečné množiny, relace, funkce a grafy, včetně jejich používání v informatice. IB114 je odlehčená varianta předmětů IB002.
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á 58 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ů. Současně studenti získavají dovednosti v implementaci navržených algoritmů v konkrétním programovacím jazyce (Python).
Výstupy z učení
Student bude po absolvování předmětu schopen:
- aktivně používat, modifikovat a analyzovat základní algoritmy pro řazení a pro průzkum grafů,
- aktivně používat základní techniky (rozděl a panuj, rekurze) návrhu algoritmů při konstrukci jednoduchých algoritmů,
- aktivně používat a modifikovat základní statické a dynamické datové struktury,
- pracovat s pojmy časové složitosti a korektnosti algoritmů,
- analyzovat časovou složitost a dokazovat korektnost jednoduchých iterativních a rekurzivních algoritmů,
- implementovat algoritmy ve vyučovaném programovacím jazyce (Python).
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í.
  • Základní techniky návrhu algoritmů, metoda rozděl a panuj, rekurzivní algoritmy.
  • Fundamentální datové struktury: Seznamy, fronty. Representace množin, hašovací tabulky. Binární haldy. Binární vyhledávací stromy, vyvážené stromy (B stromy, červeno-černé 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, topologické uspořádání, silně souvislé komponenty. Procházení grafu do šířky, bipartitní grafy. Nejkratší cesty, Bellmanův - Fordův algoritmus a Dijkstrův algoritmus.
Literatura
    povinná literatura
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    doporučená literatura
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Výukové metody
Kurs probíhá formou přednášek a cvičení k přednáš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/jaro2021/IB002/index.qwarp
Navazující předměty
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2021/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 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2025.

IB002 Algoritmy a datové struktury I

Fakulta informatiky
jaro 2023
Rozsah
2/2/1. 4 kr. (plus ukončení). Ukončení: zk.
Vyučující
prof. RNDr. Ivana Černá, CSc. (přednášející)
prof. RNDr. Jiří Barnat, Ph.D. (cvičící)
RNDr. Nikola Beneš, Ph.D. (cvičící)
Mgr. Tomáš Foltýnek, Ph.D. (cvičící)
Vojtěch Kůr (cvičící)
Mgr. Tomáš Macháček (cvičící)
doc. Mgr. Jan Obdržálek, PhD. (cvičící)
Bc. Matěj Pavlík (cvičící)
RNDr. Kristýna Pekárková (cvičící)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
doc. RNDr. Vojtěch Řehák, Ph.D. (cvičící)
Bc. Jakub Šárník (cvičící)
Bc. Dávid Šutor (cvičící)
Mgr. Matěj Žáček (cvičící)
RNDr. Martin Jonáš, Ph.D. (pomocník)
Garance
prof. RNDr. Ivana Černá, CSc.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Út 14. 2. až Út 9. 5. Út 12:00–13:50 D3, Út 12:00–13:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB002/konzultace: Út 14. 2. až Út 9. 5. Út 10:00–11:50 D3, M. Žáček, Není normální cvičení, ale konzultace. Nepřihlašuje se. Přijďte dle potřeby.
IB002/N01: Rozvrh nebyl do ISu vložen.
IB002/N02: Rozvrh nebyl do ISu vložen.
IB002/N03: Rozvrh nebyl do ISu vložen.
IB002/N04: Rozvrh nebyl do ISu vložen.
IB002/N05: Rozvrh nebyl do ISu vložen.
IB002/N06: Rozvrh nebyl do ISu vložen.
IB002/N07: Rozvrh nebyl do ISu vložen.
IB002/N08: Rozvrh nebyl do ISu vložen.
IB002/N09: Rozvrh nebyl do ISu vložen.
IB002/N10: Rozvrh nebyl do ISu vložen.
IB002/N11: Rozvrh nebyl do ISu vložen.
IB002/N12: Rozvrh nebyl do ISu vložen.
IB002/N13: Rozvrh nebyl do ISu vložen.
IB002/N14: Rozvrh nebyl do ISu vložen.
IB002/N15: Rozvrh nebyl do ISu vložen.
IB002/N16: Rozvrh nebyl do ISu vložen.
IB002/N17: Rozvrh nebyl do ISu vložen.
IB002/N18: Rozvrh nebyl do ISu vložen.
IB002/01: Po 13. 2. až Po 15. 5. Po 10:00–11:50 A218, V. Řehák
IB002/02: Po 13. 2. až Po 15. 5. Po 14:00–15:50 A319, V. Řehák
IB002/03: Út 14. 2. až Út 9. 5. Út 8:00–9:50 A218, T. Foltýnek
IB002/04: Út 14. 2. až Út 9. 5. Út 8:00–9:50 A320, V. Kůr
IB002/05: Út 14. 2. až Út 9. 5. Út 18:00–19:50 A320, J. Šárník
IB002/06: St 15. 2. až St 10. 5. St 8:00–9:50 A217, J. Obdržálek
IB002/07: St 15. 2. až St 10. 5. St 10:00–11:50 A217, J. Obdržálek
IB002/08: St 15. 2. až St 10. 5. St 10:00–11:50 A318, kromě St 19. 4. ; a St 19. 4. 10:00–11:50 B517, T. Foltýnek
IB002/09: St 15. 2. až St 10. 5. St 12:00–13:50 A318, kromě St 19. 4. ; a St 19. 4. 12:00–13:50 B517, T. Foltýnek
IB002/10: St 15. 2. až St 10. 5. St 14:00–15:50 A217, V. Řehák
IB002/11: St 15. 2. až St 10. 5. St 14:00–15:50 A318, kromě St 19. 4. ; a St 19. 4. 14:00–15:50 B517, J. Plhák
IB002/12: St 15. 2. až St 10. 5. St 16:00–17:50 A318, kromě St 19. 4. ; a St 19. 4. 16:00–17:50 B517, J. Plhák
IB002/13: Čt 16. 2. až Čt 11. 5. Čt 8:00–9:50 A319, T. Macháček
IB002/14: Čt 16. 2. až Čt 11. 5. Čt 10:00–11:50 B411, N. Beneš
IB002/15: Čt 16. 2. až Čt 11. 5. Čt 10:00–11:50 B410, J. Barnat
IB002/16: Čt 16. 2. až Čt 11. 5. Čt 16:00–17:50 A318, K. Pekárková
IB002/17: Čt 16. 2. až Čt 11. 5. Čt 18:00–19:50 A320, M. Pavlík
IB002/18: Pá 17. 2. až Pá 12. 5. Pá 12:00–13:50 A217, D. Šutor
Předpoklady
IB015 Neimperativní programování || IB111 Základy programování
Předpokládá se, že posluchači mají znalosti v rozsahu předmětů IB111 Úvod do programování a IB000 Matematické základy informatiky. Studenti by měli být schopni používat základní programátorské konstrukce (např. podmínky, cykly, funkce, základní datové typy) v jazyce Python, znát principy rekurze a několik základních algoritmů. Dále se předpokládá znalost základních matematických pojmů (v rozsahu předmětu IB000); schopnost porozumět logické struktuře matematické věty a matematického důkazu, speciálně matematické indukci; ovládat diskrétní matematické struktury jako konečné množiny, relace, funkce a grafy, včetně jejich používání v informatice
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á 58 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ů. Současně studenti získavají dovednosti v implementaci navržených algoritmů v konkrétním programovacím jazyce (Python).
Výstupy z učení
Student bude po absolvování předmětu schopen:
- aktivně používat, modifikovat a analyzovat základní algoritmy pro řazení a pro průzkum grafů,
- aktivně používat základní techniky (rozděl a panuj, rekurze) návrhu algoritmů při konstrukci jednoduchých algoritmů,
- aktivně používat a modifikovat základní statické a dynamické datové struktury,
- pracovat s pojmy časové složitosti a korektnosti algoritmů,
- analyzovat časovou složitost a dokazovat korektnost jednoduchých iterativních a rekurzivních algoritmů,
- implementovat algoritmy ve vyučovaném programovacím jazyce (Python).
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í.
  • Základní techniky návrhu algoritmů, metoda rozděl a panuj, rekurzivní algoritmy.
  • Fundamentální datové struktury: Seznamy, fronty. Representace množin, hašovací tabulky. Binární haldy. Binární vyhledávací stromy, vyvážené stromy (B stromy, červeno-černé 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, topologické uspořádání, silně souvislé komponenty. Procházení grafu do šířky, bipartitní grafy. Nejkratší cesty, Bellmanův - Fordův algoritmus a Dijkstrův algoritmus.
Literatura
    povinná literatura
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    doporučená literatura
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Výukové metody
Kurs probíhá formou přednášek a cvičení k přednáš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/jaro2021/IB002/index.qwarp
Navazující předměty
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2021/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 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2024, jaro 2025.

IB002 Algoritmy a datové struktury I

Fakulta informatiky
jaro 2022
Rozsah
2/2/1. 4 kr. (plus ukončení). Ukončení: zk.
Vyučující
prof. RNDr. Ivana Černá, CSc. (přednášející)
prof. RNDr. Jiří Barnat, Ph.D. (cvičící)
RNDr. Nikola Beneš, Ph.D. (cvičící)
Bc. Matej Focko (cvičící)
Mgr. Tomáš Foltýnek, Ph.D. (cvičící)
Bc. Filip Kučerák (cvičící)
doc. Mgr. Jan Obdržálek, PhD. (cvičící)
Bc. Matěj Pavlík (cvičící)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
doc. RNDr. Vojtěch Řehák, Ph.D. (cvičící)
Bc. Jakub Šárník (cvičící)
Bc. Dávid Šutor (cvičící)
Mgr. Matěj Žáček (cvičící)
Mgr. Jakub Balabán (pomocník)
Mgr. Marek Jankola (pomocník)
Mgr. Nastasia Juračková (pomocník)
Mgr. Lukáš Korenčik (pomocník)
Petra Ludvová Hašková, DiS. (pomocník)
RNDr. Kristýna Pekárková (pomocník)
RNDr. Vladimír Štill, Ph.D. (pomocník)
Mgr. Tatiana Zbončáková (pomocník)
Garance
prof. RNDr. Ivana Černá, CSc.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Čt 17. 2. až Čt 12. 5. Čt 14:00–15:50 D3, Čt 14:00–15:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB002/konzultace: Út 15. 2. až Út 17. 5. Út 12:00–13:50 A220, M. Žáček
IB002/N01: Rozvrh nebyl do ISu vložen.
IB002/N02: Rozvrh nebyl do ISu vložen.
IB002/N03: Rozvrh nebyl do ISu vložen.
IB002/N04: Rozvrh nebyl do ISu vložen.
IB002/N05: Rozvrh nebyl do ISu vložen.
IB002/N06: Rozvrh nebyl do ISu vložen.
IB002/N07: Rozvrh nebyl do ISu vložen.
IB002/N08: Rozvrh nebyl do ISu vložen.
IB002/N09: Rozvrh nebyl do ISu vložen.
IB002/N10: Rozvrh nebyl do ISu vložen.
IB002/N11: Rozvrh nebyl do ISu vložen.
IB002/N12: Rozvrh nebyl do ISu vložen.
IB002/N13: Rozvrh nebyl do ISu vložen.
IB002/N14: Rozvrh nebyl do ISu vložen.
IB002/N15: Rozvrh nebyl do ISu vložen.
IB002/N16: Rozvrh nebyl do ISu vložen.
IB002/N17: Rozvrh nebyl do ISu vložen.
IB002/01: Po 14. 2. až Po 9. 5. Po 10:00–11:50 A217, V. Řehák
IB002/02: Út 15. 2. až Út 10. 5. Út 8:00–9:50 A319, J. Obdržálek
IB002/03: Út 15. 2. až Út 10. 5. Út 10:00–11:50 A319, J. Obdržálek
IB002/04: Út 15. 2. až Út 10. 5. Út 10:00–11:50 A218, V. Řehák
IB002/05: Út 15. 2. až Út 10. 5. Út 12:00–13:50 A218, V. Řehák
IB002/06: Út 15. 2. až Út 10. 5. Út 14:00–15:50 A218, M. Focko
IB002/07: Út 15. 2. až Út 10. 5. Út 14:00–15:50 A319, J. Plhák
IB002/08: Út 15. 2. až Út 10. 5. Út 16:00–17:50 A319, J. Plhák
IB002/09: Út 15. 2. až Út 10. 5. Út 16:00–17:50 B204, T. Foltýnek
IB002/10: St 16. 2. až St 11. 5. St 12:00–13:50 A218, N. Beneš
IB002/11: St 16. 2. až St 11. 5. St 18:00–19:50 A218, F. Kučerák
IB002/12: Čt 17. 2. až Čt 12. 5. Čt 10:00–11:50 B411, J. Barnat
IB002/13: Čt 17. 2. až Čt 12. 5. Čt 18:00–19:50 A320, M. Pavlík
IB002/14: Čt 17. 2. až Čt 12. 5. Čt 18:00–19:50 B411, D. Šutor
IB002/15: Pá 18. 2. až Pá 13. 5. Pá 8:00–9:50 A217, T. Foltýnek
IB002/16: Pá 18. 2. až Pá 13. 5. Pá 10:00–11:50 A217, T. Foltýnek
IB002/17: Pá 18. 2. až Pá 13. 5. Pá 10:00–11:50 A218, J. Šárník
Předpoklady
IB001 Úvod do prog. skrze C || IB111 Základy programování || IB999 Vstupní test z programování
Předpokládá se, že posluchači mají znalosti v rozsahu předmětů IB111 Úvod do programování a IB000 Matematické základy informatiky. Studenti by měli být schopni používat základní programátorské konstrukce (např. podmínky, cykly, funkce, základní datové typy) v jazyce Python, znát principy rekurze a několik základních algoritmů. Dále se předpokládá znalost základních matematických pojmů (v rozsahu předmětu IB000); schopnost porozumět logické struktuře matematické věty a matematického důkazu, speciálně matematické indukci; ovládat diskrétní matematické struktury jako konečné množiny, relace, funkce a grafy, včetně jejich používání v informatice
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á 58 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ů. Současně studenti získavají dovednosti v implementaci navržených algoritmů v konkrétním programovacím jazyce (Python).
Výstupy z učení
Student bude po absolvování předmětu schopen:
- aktivně používat, modifikovat a analyzovat základní algoritmy pro řazení a pro průzkum grafů,
- aktivně používat základní techniky (rozděl a panuj, rekurze) návrhu algoritmů při konstrukci jednoduchých algoritmů,
- aktivně používat a modifikovat základní statické a dynamické datové struktury,
- pracovat s pojmy časové složitosti a korektnosti algoritmů,
- analyzovat časovou složitost a dokazovat korektnost jednoduchých iterativních a rekurzivních algoritmů,
- implementovat algoritmy ve vyučovaném programovacím jazyce (Python).
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í.
  • Základní techniky návrhu algoritmů, metoda rozděl a panuj, rekurzivní algoritmy.
  • Fundamentální datové struktury: Seznamy, fronty. Representace množin, hašovací tabulky. Binární haldy. Binární vyhledávací stromy, vyvážené stromy (B stromy, červeno-černé 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, topologické uspořádání, silně souvislé komponenty. Procházení grafu do šířky, bipartitní grafy. Nejkratší cesty, Bellmanův - Fordův algoritmus a Dijkstrův algoritmus.
Literatura
    povinná literatura
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    doporučená literatura
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Výukové metody
Kurs probíhá formou přednášek a cvičení k přednáš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/jaro2021/IB002/index.qwarp
Navazující předměty
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2021/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 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2023, jaro 2024, jaro 2025.

IB002 Algoritmy a datové struktury I

Fakulta informatiky
jaro 2021
Rozsah
2/2/1. 4 kr. (plus ukončení). Ukončení: zk.
Vyučující
prof. RNDr. Ivana Černá, CSc. (přednášející)
Mgr. Jakub Balabán (cvičící)
prof. RNDr. Jiří Barnat, Ph.D. (cvičící)
RNDr. Nikola Beneš, Ph.D. (cvičící)
Bc. Andrej Čermák (cvičící)
Bc. Matej Focko (cvičící)
Mgr. Jan Horáček (cvičící)
Mgr. Nastasia Juračková (cvičící)
Mgr. Jan Koniarik (cvičící)
doc. Mgr. Jan Obdržálek, PhD. (cvičící)
Bc. Matěj Pavlík (cvičící)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
doc. RNDr. Vojtěch Řehák, Ph.D. (cvičící)
Bc. Michal Staník (cvičící)
Bc. Jakub Šárník (cvičící)
Mgr. Mária Švidroňová (cvičící)
Mgr. Matěj Žáček (cvičící)
Mgr. Lukáš Korenčik (pomocník)
Mgr. Martin Kurečka (pomocník)
RNDr. Henrich Lauko, Ph.D. (pomocník)
RNDr. Vladimír Štill, Ph.D. (pomocník)
Hana Válková (pomocník)
Mgr. Tatiana Zbončáková (pomocník)
Garance
prof. RNDr. Ivana Černá, CSc.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
St 12:00–13:50 Virtuální místnost
  • Rozvrh seminárních/paralelních skupin:
IB002/Konzultace01: Út 14:00–15:50 Virtuální místnost, M. Žáček
IB002/Konzultace02: St 10:00–11:50 Virtuální místnost, J. Horáček
IB002/01: Po 10:00–11:50 Virtuální místnost, V. Řehák
IB002/02: Po 14:00–15:50 Virtuální místnost, V. Řehák
IB002/03: Po 16:00–17:50 Virtuální místnost, N. Beneš
IB002/04: Po 16:00–17:50 Virtuální místnost, A. Čermák
IB002/05: Út 8:00–9:50 Virtuální místnost, J. Obdržálek
IB002/06: Út 10:00–11:50 Virtuální místnost, J. Obdržálek
IB002/07: Út 10:00–11:50 Virtuální místnost, M. Staník
IB002/08: Út 12:00–13:50 Virtuální místnost, J. Balabán
IB002/09: Út 14:00–15:50 Virtuální místnost, M. Pavlík
IB002/10: Út 16:00–17:50 Virtuální místnost, M. Švidroňová
IB002/101: Rozvrh nebyl do ISu vložen.
IB002/102: Rozvrh nebyl do ISu vložen.
IB002/103: Rozvrh nebyl do ISu vložen.
IB002/104: Rozvrh nebyl do ISu vložen.
IB002/105: Rozvrh nebyl do ISu vložen.
IB002/106: Rozvrh nebyl do ISu vložen.
IB002/107: Rozvrh nebyl do ISu vložen.
IB002/108: Rozvrh nebyl do ISu vložen.
IB002/109: Rozvrh nebyl do ISu vložen.
IB002/11: St 8:00–9:50 Virtuální místnost, M. Focko
IB002/110: Rozvrh nebyl do ISu vložen.
IB002/111: Rozvrh nebyl do ISu vložen.
IB002/112: Rozvrh nebyl do ISu vložen.
IB002/113: Rozvrh nebyl do ISu vložen.
IB002/114: Rozvrh nebyl do ISu vložen.
IB002/115: Rozvrh nebyl do ISu vložen.
IB002/116: Rozvrh nebyl do ISu vložen.
IB002/117: Rozvrh nebyl do ISu vložen.
IB002/118: Rozvrh nebyl do ISu vložen.
IB002/119: Rozvrh nebyl do ISu vložen.
IB002/12: St 16:00–17:50 Virtuální místnost, N. Beneš
IB002/120: Rozvrh nebyl do ISu vložen.
IB002/13: St 16:00–17:50 Virtuální místnost, M. Švidroňová
IB002/14: Čt 10:00–11:50 Virtuální místnost, J. Barnat
IB002/15: Čt 10:00–11:50 Virtuální místnost, J. Plhák
IB002/16: Čt 14:00–15:50 Virtuální místnost, V. Řehák
IB002/17: Čt 14:00–15:50 Virtuální místnost, J. Šárník
IB002/18: Čt 18:00–19:50 Virtuální místnost, N. Juračková, J. Koniarik
IB002/19: Pá 10:00–11:50 Virtuální místnost, J. Plhák
IB002/20: Pá 12:00–13:50 Virtuální místnost, M. Pavlík
Předpoklady
IB001 Úvod do prog. skrze C || IB111 Základy programování || IB999 Vstupní test z programování
Předpokládá se, že posluchači mají znalosti v rozsahu předmětů IB111 Úvod do programování a IB000 Matematické základy informatiky. Studenti by měli být schopni používat základní programátorské konstrukce (např. podmínky, cykly, funkce, základní datové typy) v jazyce Python, znát principy rekurze a několik základních algoritmů. Dále se předpokládá znalost základních matematických pojmů (v rozsahu předmětu IB000); schopnost porozumět logické struktuře matematické věty a matematického důkazu, speciálně matematické indukci; ovládat diskrétní matematické struktury jako konečné množiny, relace, funkce a grafy, včetně jejich používání v informatice
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á 58 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ů. Současně studenti získavají dovednosti v implementaci navržených algoritmů v konkrétním programovacím jazyce (Python).
Výstupy z učení
Student bude po absolvování předmětu schopen:
- aktivně používat, modifikovat a analyzovat základní algoritmy pro řazení a pro průzkum grafů,
- aktivně používat základní techniky (rozděl a panuj, rekurze) návrhu algoritmů při konstrukci jednoduchých algoritmů,
- aktivně používat a modifikovat základní statické a dynamické datové struktury,
- pracovat s pojmy časové složitosti a korektnosti algoritmů,
- analyzovat časovou složitost a dokazovat korektnost jednoduchých iterativních a rekurzivních algoritmů,
- implementovat algoritmy ve vyučovaném programovacím jazyce (Python).
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í.
  • Základní techniky návrhu algoritmů, metoda rozděl a panuj, rekurzivní algoritmy.
  • Fundamentální datové struktury: Seznamy, fronty. Representace množin, hašovací tabulky. Binární haldy. Binární vyhledávací stromy, vyvážené stromy (B stromy, červeno-černé 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, topologické uspořádání, silně souvislé komponenty. Procházení grafu do šířky, bipartitní grafy. Nejkratší cesty, Bellmanův - Fordův algoritmus a Dijkstrův algoritmus.
Literatura
    povinná literatura
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    doporučená literatura
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Výukové metody
Kurs probíhá formou přednášek a cvičení k přednáš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/jaro2021/IB002/index.qwarp
Navazující předměty
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2021/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 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Algoritmy a datové struktury I

Fakulta informatiky
jaro 2020
Rozsah
2/2/1. 4 kr. (plus ukončení). Ukončení: zk.
Vyučující
prof. RNDr. Ivana Černá, CSc. (přednášející)
Mgr. Jakub Balabán (cvičící)
prof. RNDr. Jiří Barnat, Ph.D. (cvičící)
RNDr. Nikola Beneš, Ph.D. (cvičící)
Bc. Andrej Čermák (cvičící)
Bc. Matej Focko (cvičící)
Mgr. Jan Horáček (cvičící)
Mgr. Nastasia Juračková (cvičící)
Mgr. Adam Kabela, Ph.D. (cvičící)
Mgr. Jan Koniarik (cvičící)
Mgr. Martin Kurečka (cvičící)
Mgr. Alexander Macinský (cvičící)
Mgr. Kristína Miklášová (cvičící)
doc. RNDr. Petr Novotný, Ph.D. (cvičící)
doc. Mgr. Jan Obdržálek, PhD. (cvičící)
Bc. Matěj Pavlík (cvičící)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
doc. RNDr. Vojtěch Řehák, Ph.D. (cvičící)
Mgr. Anna Řechtáčková (cvičící)
Bc. Michal Staník (cvičící)
Bc. Jakub Šárník (cvičící)
Mgr. Mária Švidroňová (cvičící)
Mgr. Tatiana Zbončáková (cvičící)
Mgr. Matěj Žáček (cvičící)
Mgr. Lukáš Korenčik (pomocník)
RNDr. Henrich Lauko, Ph.D. (pomocník)
Garance
prof. RNDr. Ivana Černá, CSc.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Po 17. 2. až Čt 7. 5. Čt 8:00–9:50 D1, Čt 8:00–9:50 D3
  • Rozvrh seminárních/paralelních skupin:
IB002/konzultace01: Po 17. 2. až Pá 15. 5. Po 10:00–11:50 A417, M. Focko, A417 Po 10-12, Nepřihlašuje se, není cvičení, ale dobrovolná konzultace.
IB002/konzultace02: Po 17. 2. až Pá 15. 5. Út 10:00–11:50 A417, A. Řechtáčková, A417 Ut 10-12, Nepřihlašuje se, není cvičení, ale dobrovolná konzultace.
IB002/konzultace03: Po 17. 2. až Pá 15. 5. Út 14:00–15:50 A417, A. Čermák, A417 Ut 14-16, Nepřihlašuje se, není cvičení, ale dobrovolná konzultace.
IB002/01: Po 17. 2. až Pá 15. 5. Po 10:00–11:50 A318, V. Řehák
IB002/02: Po 17. 2. až Pá 15. 5. Po 14:00–15:50 A319, V. Řehák
IB002/03: Po 17. 2. až Pá 15. 5. Po 16:00–17:50 A218, J. Obdržálek
IB002/04: Po 17. 2. až Pá 15. 5. Po 18:00–19:50 A218, N. Juračková, J. Koniarik
IB002/05: Po 17. 2. až Pá 15. 5. Út 8:00–9:50 A218, V. Řehák
IB002/06: Po 17. 2. až Pá 15. 5. Út 8:00–9:50 B411, H. Lauko, M. Žáček
IB002/07: Po 17. 2. až Pá 15. 5. Út 16:00–17:50 A320, M. Pavlík
IB002/08: Po 17. 2. až Pá 15. 5. Út 18:00–19:50 A218, M. Švidroňová
IB002/09: Po 17. 2. až Pá 15. 5. St 8:00–9:50 A218, J. Obdržálek
IB002/10: Po 17. 2. až Pá 15. 5. St 10:00–11:50 A218, J. Obdržálek
IB002/11: Po 17. 2. až Pá 15. 5. St 12:00–13:50 A320, M. Kurečka
IB002/12: Po 17. 2. až Pá 15. 5. St 12:00–13:50 A218, P. Novotný
IB002/13: Po 17. 2. až Pá 15. 5. St 14:00–15:50 A218, P. Novotný
IB002/14: Po 17. 2. až Pá 15. 5. St 18:00–19:50 A320, J. Koniarik, A. Macinský
IB002/15: Po 17. 2. až Pá 15. 5. Čt 10:00–11:50 A217, J. Barnat
IB002/16: Po 17. 2. až Čt 7. 5. Čt 14:00–15:50 A217, T. Zbončáková
IB002/17: Po 17. 2. až Pá 15. 5. Čt 16:00–17:50 A217, T. Zbončáková
IB002/18: Po 17. 2. až Čt 7. 5. Čt 16:00–17:50 A218, M. Švidroňová
IB002/19: Po 17. 2. až Pá 15. 5. Čt 18:00–19:50 A217, A. Kabela
IB002/20: Po 17. 2. až Pá 15. 5. Pá 10:00–11:50 A218, J. Horáček
IB002/21: Po 17. 2. až Pá 15. 5. Pá 12:00–13:50 A218, J. Plhák
Předpoklady
IB001 Úvod do prog. skrze C || IB111 Základy programování || IB999 Vstupní test z programování
Předpokládá se, že posluchači mají znalosti v rozsahu předmětů IB111 Úvod do programování a IB000 Matematické základy informatiky. Studenti by měli být schopni používat základní programátorské konstrukce (např. podmínky, cykly, funkce, základní datové typy) v jazyce Python, znát principy rekurze a několik základních algoritmů. Dále se předpokládá znalost základních matematických pojmů (v rozsahu předmětu IB000); schopnost porozumět logické struktuře matematické věty a matematického důkazu, speciálně matematické indukci; ovládat diskrétní matematické struktury jako konečné množiny, relace, funkce a grafy, včetně jejich používání v informatice
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á 58 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ů. Současně studenti získavají dovednosti v implementaci navržených algoritmů v konkrétním programovacím jazyce (Python).
Výstupy z učení
Student bude po absolvování předmětu schopen:
- aktivně používat, modifikovat a analyzovat základní algoritmy pro řazení a pro průzkum grafů,
- aktivně používat základní techniky (rozděl a panuj, rekurze) návrhu algoritmů při konstrukci jednoduchých algoritmů,
- aktivně používat a modifikovat základní statické a dynamické datové struktury,
- pracovat s pojmy časové složitosti a korektnosti algoritmů,
- analyzovat časovou složitost a dokazovat korektnost jednoduchých iterativních a rekurzivních algoritmů,
- implementovat algoritmy ve vyučovaném programovacím jazyce (Python).
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í.
  • Základní techniky návrhu algoritmů, metoda rozděl a panuj, rekurzivní algoritmy.
  • Fundamentální datové struktury: Seznamy, fronty. Representace množin, hašovací tabulky. Binární haldy. Binární vyhledávací stromy, vyvážené stromy (B stromy, červeno-černé 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, topologické uspořádání, silně souvislé komponenty. Procházení grafu do šířky, bipartitní grafy. Nejkratší cesty, Bellmanův - Fordův algoritmus a Dijkstrův algoritmus.
Literatura
    povinná literatura
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    doporučená literatura
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Výukové metody
Kurs probíhá formou přednášek a cvičení k přednáš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/jaro2020/IB002/index.qwarp
Navazující předměty
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2018/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 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Algoritmy a datové struktury I

Fakulta informatiky
jaro 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í)
doc. RNDr. Tomáš Brázdil, Ph.D. (cvičící)
RNDr. Tomáš Effenberger, Ph.D. (cvičící)
Mgr. Jan Horáček (cvičící)
Mgr. Jan Koniarik (cvičící)
RNDr. Henrich Lauko, Ph.D. (cvičící)
Mgr. Adam Matoušek (cvičící)
doc. RNDr. Petr Novotný, Ph.D. (cvičící)
doc. Mgr. Jan Obdržálek, PhD. (cvičící)
Mgr. Juraj Pančík (cvičící)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
doc. RNDr. Vojtěch Řehák, Ph.D. (cvičící)
Mgr. Mária Švidroňová (cvičící)
RNDr. Bc. Dominik Velan, Ph.D. (cvičící)
Mgr. Viktória Vozárová (cvičící)
Mgr. Tatiana Zbončáková (cvičící)
Mgr. Lukáš Korenčik (pomocník)
RNDr. Henrich Lauko, Ph.D. (pomocník)
Mgr. Miloslav Staněk (pomocník)
RNDr. Vladimír Štill, 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
Čt 21. 2. až Čt 9. 5. Čt 14:00–15:50 D3, Čt 14:00–15:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB002/konzultace01: Po 10:00–11:40 A417, J. Horáček, Nepřihlašuje se, není cvičení, ale dobrovolná konzultace.
IB002/konzultace02: Po 17:00–18:40 A417, T. Zbončáková, Bude i 17. a 24. 4. a 15. 5. od 9 do 11 v A417.
IB002/konzultace03: Út 13:00–14:40 A417, A. Matoušek, Nepřihlašuje se, není cvičení, ale dobrovolná konzultace.
IB002/01: Po 18. 2. až Po 13. 5. Po 8:00–9:50 A319, V. Řehák
IB002/02: Po 18. 2. až Po 13. 5. Po 12:00–13:50 A218, P. Novotný
IB002/03: Po 18. 2. až Po 13. 5. Po 14:00–15:50 A318, N. Beneš
IB002/04: Po 18. 2. až Po 13. 5. Po 16:00–17:50 A320, J. Obdržálek
IB002/05: Po 18. 2. až Út 14. 5. Út 8:00–9:50 A218, J. Obdržálek
IB002/06: Út 19. 2. až Út 14. 5. Út 8:00–9:50 C511, J. Horáček
IB002/07: Út 19. 2. až Út 14. 5. Út 10:00–11:50 A218, J. Obdržálek
IB002/08: Út 19. 2. až Út 14. 5. Út 10:00–11:50 A318, T. Zbončáková
IB002/09: Út 19. 2. až Út 14. 5. Út 12:00–13:50 A217, V. Vozárová
IB002/10: Út 19. 2. až Út 14. 5. Út 12:00–13:50 A218, J. Pančík
IB002/11: Út 19. 2. až Út 14. 5. Út 14:00–15:50 A217, V. Vozárová
IB002/12: Út 19. 2. až Út 14. 5. Út 14:00–15:50 A319, T. Zbončáková
IB002/13: Út 19. 2. až Út 14. 5. Út 18:00–19:50 A319, J. Pančík
IB002/14: St 20. 2. až St 15. 5. St 8:00–9:50 A218, J. Plhák
IB002/15: St 20. 2. až St 15. 5. St 8:00–9:50 B410, P. Novotný
IB002/16: St 20. 2. až St 15. 5. St 10:00–11:50 A318, P. Novotný
IB002/17: St 20. 2. až St 15. 5. St 12:00–13:50 A218, J. Plhák
IB002/18: St 20. 2. až St 15. 5. St 14:00–15:50 A218, V. Řehák
IB002/19: St 20. 2. až St 15. 5. St 16:00–17:50 A319, T. Effenberger
IB002/20: Čt 21. 2. až Čt 16. 5. Čt 8:00–9:50 B411, D. Velan
IB002/21: Čt 21. 2. až Čt 16. 5. Čt 16:00–17:50 A320, J. Koniarik
IB002/22: Pá 22. 2. až Pá 17. 5. Pá 8:00–9:50 A320, D. Velan
IB002/23: Pá 22. 2. až Pá 17. 5. Pá 10:00–11:50 B410, T. Brázdil
IB002/24: Pá 22. 2. až Pá 17. 5. Pá 12:00–13:50 A218, M. Švidroňová
Předpoklady
IB001 Úvod do prog. skrze C || IB111 Základy programování || IB999 Vstupní test z programování
Předpokládá se, že posluchači mají znalosti v rozsahu předmětů IB111 Úvod do programování a IB000 Matematické základy informatiky. Studenti by měli být schopni používat základní programátorské konstrukce (např. podmínky, cykly, funkce, základní datové typy) v jazyce Python, znát principy rekurze a několik základních algoritmů. Dále se předpokládá znalost základních matematických pojmů (v rozsahu předmětu IB000); schopnost porozumět logické struktuře matematické věty a matematického důkazu, speciálně matematické indukci; ovládat diskrétní matematické struktury jako konečné množiny, relace, funkce a grafy, včetně jejich používání v informatice
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ů. Současně studenti získavají dovednosti v implementaci navržených algoritmů v konkrétním programovacím jazyce (Python).
Výstupy z učení
Student bude po absolvování předmětu schopen:
- aktivně používat, modifikovat a analyzovat zádkladní algoritmy pro řazení a pro průzkum grafů,
- aktivně používat základní techniky (rozděl a panuj, rekurze) návrhu algoritmů při konstrukci jednoduchých algoritmů,
- aktivně používat a modifikovat základní statické a dynamické datové struktury,
- pracovat s pojmy časové složitosti a korektnosti algoritmů,
- analyzovat časovou složitost a dokazovat korektnost jednoduchých iterativních a rekurzivních algoritmů,
- implementovat algoritmy ve vyučovaném programovacím jazyce (Python).
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í.
  • Základní techniky návrhu algoritmů, metoda rozděl a panuj, rekurzivní algoritmy.
  • Fundamentální datové struktury: Seznamy, fronty. Representace množin, hašovací tabulky. Binární haldy. Binární vyhledávací stromy, vyvážené stromy (B stromy, červeno-černé 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, topologické uspořádání, silně souvislé komponenty. Procházení grafu do šířky, bipartitní grafy. Nejkratší cesty, Bellmanův - Fordův algoritmus a Dijkstrův algoritmus.
Literatura
    povinná literatura
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    doporučená literatura
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Výukové metody
Kurs probíhá formou přednášek a cvičení k přednáš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/jaro2019/IB002/index.qwarp
Navazující předměty
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2019/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 2016, jaro 2017, jaro 2018, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Algoritmy a datové struktury I

Fakulta informatiky
jaro 2018
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. František Blahoudek, Ph.D. (cvičící)
doc. RNDr. Tomáš Brázdil, Ph.D. (cvičící)
Mgr. Radka Cieslarová (cvičící)
doc. RNDr. Vlastislav Dohnal, Ph.D. (cvičící)
Mgr. Jan Horáček (cvičící)
Mgr. Jan Koniarik (cvičící)
Mgr. Karel Kubíček (cvičící)
RNDr. Henrich Lauko, Ph.D. (cvičící)
doc. RNDr. Tomáš Masopust, Ph.D., DSc. (cvičící)
doc. Mgr. Jan Obdržálek, PhD. (cvičící)
RNDr. Filip Opálený (cvičící)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
Bc. Miriama Rajčanová (cvičící)
Bc. Oliver Roch (cvičící)
doc. RNDr. Vojtěch Řehák, Ph.D. (cvičící)
Mgr. Bc. Kateřina Sloupová (cvičící)
Mgr. Miloslav Staněk (cvičící)
RNDr. Bc. Dominik Velan, Ph.D. (cvičící)
Mgr. Viktória Vozárová (cvičící)
Mgr. Tatiana Zbončáková (cvičící)
Mgr. Adam Matoušek (pomocník)
Bc. Mikoláš Stuchlík (pomocník)
RNDr. Vladimír Štill, 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
Čt 14:00–15:50 D1, Čt 14:00–15:50 D3
  • Rozvrh seminárních/paralelních skupin:
IB002/konzultace01: Po 14:00–15:40 A420, J. Koniarik, pondeli 14-16 v A420
IB002/konzultace02: Út 10:00–11:40 A420, T. Zbončáková, utery 10-12 v A420
IB002/konzultace03: Út 14:00–15:40 A420, J. Horáček, utery 14-16 v A420
IB002/01: Po 8:00–9:50 A218, V. Řehák
IB002/02: Po 10:00–11:50 A218, V. Řehák
IB002/03: Po 12:00–13:50 A218, J. Obdržálek
IB002/04: Po 12:00–13:50 A318, M. Rajčanová, T. Zbončáková
IB002/05: Po 14:00–15:50 A319, O. Roch
IB002/06: Po 14:00–15:50 B204, J. Horáček
IB002/07: Po 16:00–17:50 B411, J. Koniarik, M. Staněk
IB002/08: Po 18:00–19:50 B410, R. Cieslarová, K. Sloupová
IB002/09: Út 8:00–9:50 B411, V. Vozárová
IB002/10: Út 10:00–11:50 B411, V. Dohnal
IB002/11: Út 14:00–15:50 B411, J. Koniarik, M. Staněk
IB002/12: St 10:00–11:50 A318, J. Obdržálek
IB002/13: St 10:00–11:50 B411, H. Lauko
IB002/14: St 12:00–13:50 A217, V. Vozárová
IB002/15: St 12:00–13:50 C511, R. Cieslarová
IB002/16: St 14:00–15:50 A218, J. Obdržálek
IB002/17: St 16:00–17:50 B204, K. Sloupová
IB002/18: Čt 16:00–17:50 A318, N. Beneš
IB002/19: Pá 8:00–9:50 B411, T. Masopust
IB002/20: Pá 8:00–9:50 B204, D. Velan
IB002/21: Pá 10:00–11:50 B204, D. Velan
IB002/22: Pá 10:00–11:50 B410, T. Brázdil
Předpoklady
IB001 Úvod do prog. skrze C || IB111 Základy programování || IB999 Vstupní test z programování
Předpokládá se, že posluchači mají znalosti v rozsahu předmětů IB111 Úvod do programování a IB000 Matematické základy informatiky. Studenti by měli být schopni používat základní programátorské konstrukce (např. podmínky, cykly, funkce, základní datové typy) v jazyce Python, znát principy rekurze a několik základních algoritmů. Dále se předpokládá znalost základních matematických pojmů (v rozsahu předmětu IB000); schopnost porozumět logické struktuře matematické věty a matematického důkazu, speciálně matematické indukci; ovládat diskrétní matematické struktury jako konečné množiny, relace, funkce a grafy, včetně jejich používání v informatice
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ů. Současně studenti získavají dovednosti v implementaci navržených algoritmů v konkrétním programovacím jazyce (Python).
Výstupy z učení
Student bude po absolvování předmětu schopen:
- aktivně používat, modifikovat a analyzovat zádkladní algoritmy pro řazení a pro průzkum grafů,
- aktivně používat základní techniky (rozděl a panuj, rekurze) návrhu algoritmů při konstrukci jednoduchých algoritmů,
- aktivně používat a modifikovat základní statické a dynamické datové struktury,
- pracovat s pojmy časové složitosti a korektnosti algoritmů,
- analyzovat časovou složitost a dokazovat korektnost jednoduchých iterativních a rekurzivních algoritmů,
- implementovat algoritmy ve vyučovaném programovacím jazyce (Python).
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í.
  • Základní techniky návrhu algoritmů, metoda rozděl a panuj, rekurzivní algoritmy.
  • Fundamentální datové struktury: Seznamy, fronty. Representace množin, hašovací tabulky. Binární haldy. Binární vyhledávací stromy, vyvážené stromy (B stromy, červeno-černé 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, topologické uspořádání, silně souvislé komponenty. Procházení grafu do šířky, bipartitní grafy. Nejkratší cesty, Bellmanův - Fordův algoritmus a Dijkstrův algoritmus.
Literatura
    povinná literatura
  • CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge, Mass.: MIT Press, 2009, xix, 1292. ISBN 9780262533058. URL info
    doporučená literatura
  • SKIENA, Steven S. The algorithm design manual. New York: Springer, 1998, xvi, 486. ISBN 0387948600. info
Výukové metody
Kurs probíhá formou přednášek a cvičení k přednáš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/jaro2019/IB002/index.qwarp
Navazující předměty
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2019/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 2016, jaro 2017, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Algoritmy a datové struktury I

Fakulta informatiky
jaro 2017
Rozsah
2/2. 4 kr. (plus ukončení). Ukončení: zk.
Vyučující
prof. RNDr. Ivana Černá, CSc. (přednášející)
Mgr. Michaela Balážová (cvičící)
Mgr. Peter Benčík (cvičící)
RNDr. Nikola Beneš, Ph.D. (cvičící)
RNDr. František Blahoudek, Ph.D. (cvičící)
doc. RNDr. Tomáš Brázdil, Ph.D. (cvičící)
Mgr. Radka Cieslarová (cvičící)
RNDr. Jaroslav Čechák, Ph.D. (cvičící)
Mgr. Jakub Hančin (cvičící)
Mgr. Barbora Kompišová (cvičící)
Mgr. Jan Koniarik (cvičící)
Mgr. Karel Kubíček (cvičící)
RNDr. Henrich Lauko, Ph.D. (cvičící)
doc. Mgr. Jan Obdržálek, PhD. (cvičící)
RNDr. Filip Opálený (cvičící)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
doc. RNDr. Vojtěch Řehák, Ph.D. (cvičící)
Mgr. Bc. Kateřina Sloupová (cvičící)
Mgr. Ján Štefkovič (cvičící)
RNDr. Bc. Dominik Velan, Ph.D. (cvičící)
Mgr. Viktória Vozárová (cvičící)
Mgr. Zuzana Baranová (pomocník)
Mgr. Tadeáš Kučera (pomocník)
Mgr. et Mgr. Dominika Lauko (pomocník)
Mgr. Adam Matoušek (pomocník)
Bc. Miriama Rajčanová (pomocník)
Mgr. Miloslav Staněk (pomocník)
Mgr. Alena Zahradníčková (pomocník)
Mgr. Tatiana Zbončáková (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
Čt 14:00–15:50 D1, Čt 14:00–15:50 D3
  • Rozvrh seminárních/paralelních skupin:
IB002/konzultace01: Po 17:00–18:50 A420, P. Benčík
IB002/konzultace02: Út 16:00–17:50 A420, P. Benčík
IB002/konzultace03: Pá 8:00–9:50 A420, B. Kompišová
IB002/T01: St 22. 2. až Po 22. 5. St 14:15–16:40 118, J. Koniarik, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB002/01: Po 8:00–9:50 A218, V. Řehák
IB002/02: Po 12:00–13:50 A320, F. Blahoudek
IB002/03: Po 14:00–15:50 C416, J. Obdržálek
IB002/04: Po 18:00–19:50 A319, J. Čechák
IB002/05: Út 10:00–11:50 A218, J. Koniarik
IB002/06: Út 10:00–11:50 B411, T. Brázdil
IB002/07: Út 12:00–13:50 C416, J. Obdržálek
IB002/08: Út 14:00–15:50 C416, V. Vozárová
IB002/09: Út 16:00–17:50 B410, M. Balážová, J. Štefkovič
IB002/10: Út 18:00–19:50 B410, R. Cieslarová, K. Sloupová
IB002/11: St 8:00–9:50 B411, J. Plhák
IB002/12: St 10:00–11:50 A217, kromě St 17. 5. ; a St 17. 5. 10:00–11:50 C416, J. Hančin
IB002/13: St 12:00–13:50 C525, F. Opálený
IB002/14: St 18:00–19:50 C525, D. Velan
IB002/15: Čt 12:00–13:50 A320, K. Kubíček
IB002/16: Čt 16:00–17:50 A218, F. Blahoudek
IB002/17: Čt 16:00–17:50 B410, J. Plhák
IB002/18: Čt 16:00–17:50 C525, N. Beneš
IB002/19: Čt 18:00–19:50 C416, F. Opálený
IB002/20: Pá 8:00–9:50 C416, V. Vozárová
IB002/21: Pá 10:00–11:50 C511, J. Obdržálek
Předpoklady
IB001 Úvod do prog. skrze C || IB111 Úvod do programování || IB999 Vstupní test z programování
Předpokládá se, že posluchači mají znalosti v rozsahu předmětů IB111 Úvod do programování. Studenti by měli být schopni používat základní programátorské konstrukce (např. podmínky, cykly, funkce, základní datové typy) v jazyce Python 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í.
  • Základní techniky návrhu algoritmů, metoda rozděl a panuj, rekurzivní algoritmy.
  • Fundamentální datové struktury: Seznamy, fronty. Representace množin, hašovací tabulky. Binární haldy. Binární vyhledávací stromy, vyvážené stromy (B stromy, červeno-černé 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, topologické uspořádání, silně souvislé komponenty. Procházení grafu do šířky, bipartitní grafy. Nejkratší cesty, Bellmanův - Fordův algoritmus a 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řednáš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/jaro2017/IB002/index.qwarp
Navazující předměty
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2017/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 2016, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

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, Ph.D. (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 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 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, jaro 2025.

IB002 Algoritmy a datové struktury I

Fakulta informatiky
jaro 2015
Rozsah
2/2. 4 kr. (plus ukončení). Ukončení: zk.
Vyučující
prof. RNDr. Ivana Černá, CSc. (přednášející)
RNDr. Jaroslav Bendík, 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. Marek Klučár (cvičící)
Mgr. Karel Kubíček (cvičící)
RNDr. Henrich Lauko, Ph.D. (cvičící)
doc. Mgr. Jan Obdržálek, PhD. (cvičící)
RNDr. Kristína Pšorn Zákopčanová (cvičící)
doc. RNDr. Vojtěch Řehák, Ph.D. (cvičící)
Mgr. Ondřej Slámečka (cvičící)
RNDr. Vladimír Ulman, Ph.D. (cvičící)
RNDr. Nikola Beneš, Ph.D. (pomocník)
RNDr. Filip Opálený (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, Pá 12:00–13:50 D2
  • Rozvrh seminárních/paralelních skupin:
IB002/N01: Po 14:00–15:50 A319, V. Řehák
IB002/N03: Po 18:00–19:50 B410, O. Slámečka
IB002/N04: Út 8:00–9:50 A217, K. Pšorn Zákopčanová
IB002/N05: Út 12:00–13:50 A218, V. Řehák
IB002/N06: Út 16:00–17:50 B204, J. Bendík
IB002/N07: St 10:00–11:50 A318, K. Pšorn Zákopčanová
IB002/N08: St 16:00–17:50 A319, T. Janík
IB002/N09: St 18:00–19:50 A319, T. Janík
IB002/N10: St 18:00–19:50 B410, H. Lauko
IB002/N11: Čt 8:00–9:50 B410, K. Kubíček
IB002/N12: Čt 12:00–13:50 A218, O. Slámečka
IB002/N13: Čt 16:00–17:50 A218, F. Blahoudek
IB002/N14: Čt 18:00–19:50 B410, H. Lauko
IB002/N15: Čt 14:00–15:50 B410, F. Blahoudek
IB002/N16: Pá 10:00–11:50 A218, J. Bendík
IB002/P01: Po 14:00–15:50 A215, V. Ulman
IB002/P02: Út 10:00–11:50 A215, V. Ulman
IB002/P03: Út 12:00–13:50 A215, M. Klučár
IB002/P04: Út 16:00–17:50 A219, P. Bezděk
IB002/P05: St 10:00–11:50 A215, M. Klučár
IB002/P06: St 14:00–15:50 B311, J. Obdržálek
IB002/P07: Čt 12:00–13:50 A219, J. Obdržálek
IB002/P08: Čt 16:00–17:50 A219, P. Bezděk
IB002/P09: Čt 18:00–19:50 A219, M. Klučár
IB002/P10: Po 16:00–17:50 A215, K. Kubíček
IB002/T01: Po 16. 2. až Pá 15. 5. Po 8:00–9:35 117, Čt 19. 2. až Pá 15. 5. Út 14:35–16:10 105, T. Janík, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
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ů a závěrečného programátorského testu. Podrobnosti jsou zveřejněny v Interaktivní osnově předmětu https://is.muni.cz/auth/el/1433/jaro2014/IB002/index.qwarp
Navazující předměty
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2015/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 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Algoritmy a datové struktury I

Fakulta informatiky
jaro 2014
Rozsah
2/2. 4 kr. (plus ukončení). Ukončení: zk.
Vyučující
prof. RNDr. Ivana Černá, CSc. (přednášející)
RNDr. Peter Bezděk, Ph.D. (cvičící)
Mgr. Lukáš Ďurovský (cvičící)
Mgr. Bc. Tomáš Janík (cvičící)
Mgr. Miroslav Klimoš (cvičící)
Mgr. Marek Klučár (cvičící)
Mgr. Michal Kotrbčík, Ph.D. (cvičící)
Mgr. Karel Kubíček (cvičící)
RNDr. Henrich Lauko, Ph.D. (cvičící)
Mgr. Matúš Madzin (cvičící)
doc. Mgr. Jan Obdržálek, PhD. (cvičící)
Alexandru Popa, Ph.D. (cvičící)
doc. RNDr. Vojtěch Řehák, Ph.D. (cvičící)
doc. RNDr. David Svoboda, Ph.D. (cvičící)
RNDr. Vladimír Ulman, Ph.D. (cvičící)
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
Čt 10:00–11:50 D1, Čt 10:00–11:50 D3
  • Rozvrh seminárních/paralelních skupin:
IB002/NA13: Po 18:00–19:50 G123, A. Popa
IB002/NA14: St 16:00–17:50 G125, A. Popa
IB002/N01: Út 18:00–19:50 B410, L. Ďurovský
IB002/N02: Po 16:00–17:50 G124, L. Ďurovský
IB002/N03: Po 18:00–19:50 G126, L. Ďurovský
IB002/N04: Čt 16:00–17:50 G124, V. Ulman
IB002/N05: Po 10:00–11:50 G125, V. Ulman
IB002/N06: Čt 8:00–9:50 G123, D. Svoboda
IB002/N07: Út 16:00–17:50 G125, M. Madzin
IB002/N08: Út 18:00–19:50 G125, M. Madzin
IB002/N09: St 14:00–15:50 G125, V. Řehák
IB002/N10: Čt 12:00–13:50 G123, V. Řehák
IB002/N11: Út 18:00–19:50 G126, M. Kotrbčík
IB002/N12: Pá 12:00–13:50 G125, M. Kotrbčík
IB002/P01: Po 8:00–9:50 B204, M. Klučár
IB002/P02: Po 10:00–11:50 B204, M. Klučár
IB002/P03: Út 12:00–13:50 B204, J. Obdržálek
IB002/P04: Út 14:00–15:50 B204, J. Obdržálek
IB002/P05: Út 8:00–9:50 B204, M. Klimoš
IB002/P06: Út 10:00–11:50 B204, M. Klimoš
IB002/P07: Út 16:00–17:50 B311, P. Bezděk
IB002/P08: Po 14:00–15:50 B204, P. Bezděk
IB002/T01: Út 18. 2. až So 31. 5. Út 8:00–9:35 Učebna S8 (17), St 19. 2. až So 31. 5. St 8:00–9:35 Učebna S8 (17), T. Janík, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB002/T02: Po 17. 2. až Ne 25. 5. Po 12:15–14:35 Učebna S9 (55), T. Janík, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
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 a v rozsahu předmětu IB000 Matematické základy informatiky. 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ů. Kromě toho se předpokládá znalost základních matematických konstruktů v rozsahu IB000. Součástí hodnocení předmětu je implementační test, realizovaný v jazyce C nebo Python.
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á 20 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
    povinná literatura
  • 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ů a závěrečného programátorského testu. Podrobnosti jsou zveřejněny v Interaktivní osnově předmětu https://is.muni.cz/auth/el/1433/jaro2014/IB002/index.qwarp
Navazující předměty
Informace učitele
https://is.muni.cz/auth/el/1433/jaro2014/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 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Algoritmy a datové struktury I

Fakulta informatiky
jaro 2013
Rozsah
2/2. 4 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
Ing. Mgr. et Mgr. Zdeněk Říha, Ph.D. (přednášející)
RNDr. Libor Škarvada (přednášející)
Mgr. Miroslav Buda (cvičící)
Mgr. et Mgr. Martin Derka, M.Sc. (cvičící)
RNDr. Pavel Karas, Ph.D. (cvičící)
Mgr. Marek Klučár (cvičící)
Mgr. Matúš Madzin (cvičící)
doc. RNDr. David Svoboda, Ph.D. (cvičící)
RNDr. Martin Ukrop, Ph.D. (cvičící)
RNDr. Vladimír Ulman, Ph.D. (cvičící)
Mgr. Matej Kollár (pomocník)
Mgr. Eva Mráková, Ph.D. (pomocník)
doc. RNDr. Vojtěch Řehák, Ph.D. (pomocník)
Mgr. et Mgr. Tomáš Sklenák (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Po 16:00–17:50 D2, Po 16:00–17:50 D1, Po 16:00–17:50 D3
  • Rozvrh seminárních/paralelních skupin:
IB002/T01: Po 10:00–12:00 Učebna S6 (20), Čt 10:00–11:55 Učebna S11 (58), M. Derka, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB002/T02: St 16:00–17:55 Učebna S11 (58), M. Klučár, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB002/T03: Čt 16:00–17:55 Učebna S4 (35a), L. Škarvada, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
IB002/T04: Po 18. 2. až Ne 19. 5. Čt 13:00–14:40 Učebna S8 (17), D. Svoboda
IB002/01: Čt 8:00–9:50 B311, D. Svoboda
IB002/02: Po 14:00–15:50 B130, M. Ukrop
IB002/03: Čt 18:00–19:50 B204, M. Ukrop
IB002/04: Čt 16:00–17:50 B130, M. Ukrop
IB002/05: St 8:00–9:50 B130, M. Klučár
IB002/06: St 10:00–11:50 B130, M. Klučár
IB002/07: St 14:00–15:50 B130, M. Klučár
IB002/08: St 10:00–11:50 G126, M. Derka
IB002/09: St 12:00–13:50 G126, M. Derka
IB002/10: Čt 10:00–11:50 G126, M. Madzin
IB002/11: Út 8:00–9:50 G101, V. Ulman
IB002/12: Út 10:00–11:50 G101, V. Ulman
IB002/13: Čt 8:00–9:50 G101, M. Madzin
IB002/14: Út 16:00–17:50 B204, M. Buda
IB002/15: Út 14:00–15:50 B130, M. Buda
IB002/16: Čt 14:00–15:50 B204, M. Buda
IB002/17: Čt 16:00–17:50 B204, P. Karas
IB002/18: Čt 14:00–15:50 B130, P. Karas
IB002/19: Út 18:00–19:50 B204
Předpoklady
Předpokládá se, že posluchači alespoň na intuitivní úrovni rozumějí základním pojmům algoritmus, výpočet, datová struktura a podobným.
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á 20 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.
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í, využití rekurentních relací při analýze algoritmů.
  • 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. Minimální kostry grafu.
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í
Zkouška je má tři části -- test v polovině semestru, praktický test na jeho konci a závěrečnou písemnou zkoušku.
Navazující předměty
Informace učitele
http://www.fi.muni.cz/~libor/vyuka/IB002/
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 2014, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Návrh algoritmů I

Fakulta informatiky
jaro 2012
Rozsah
2/1. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Mgr. Bc. Matúš Goljer (cvičící)
Mgr. Marek Klučár (cvičící)
RNDr. Štěpán Kozák (cvičící)
Mgr. Matúš Madzin (cvičící)
Mgr. Josef Pacula (cvičící)
Oldřich Petr (cvičící)
RNDr. Tomáš Raček, Ph.D. (cvičící)
doc. RNDr. David Svoboda, Ph.D. (cvičící)
Mgr. Filip Štefaňák (cvičící)
Mgr. Jiří Uhlíř (cvičící)
Mgr. Matej Kollár (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Po 16:00–17:50 D3, Po 16:00–17:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB002/01: každou sudou středu 10:00–11:50 G101, M. Klučár
IB002/02: každou lichou středu 10:00–11:50 G101, M. Klučár
IB002/03: každé sudé úterý 18:00–19:50 G123, M. Klučár
IB002/04: každé liché úterý 18:00–19:50 G123, M. Klučár
IB002/05: každou sudou středu 8:00–9:50 G101, J. Pacula
IB002/06: každou lichou středu 8:00–9:50 G101, J. Pacula
IB002/07: každou sudou středu 16:00–17:50 B204, M. Madzin
IB002/08: každou lichou středu 16:00–17:50 B204, M. Madzin
IB002/09: každou sudou středu 18:00–19:50 B204, Š. Kozák
IB002/10: každou lichou středu 18:00–19:50 B204, Š. Kozák
IB002/11: každý sudý čtvrtek 12:00–13:50 C525, D. Svoboda
IB002/12: každý lichý čtvrtek 12:00–13:50 C525, D. Svoboda
IB002/13: každý sudý čtvrtek 14:00–15:50 C525, F. Štefaňák
IB002/14: každý lichý čtvrtek 14:00–15:50 C525, F. Štefaňák
IB002/15: každý sudý pátek 8:00–9:50 C525, J. Uhlíř
IB002/16: každý lichý pátek 8:00–9:50 C525, T. Raček
IB002/17: každý sudý pátek 10:00–11:50 C525, J. Uhlíř
IB002/18: každý lichý pátek 10:00–11:50 C525, T. Raček
IB002/19: každé sudé úterý 16:00–17:50 G123, M. Goljer
IB002/20: každé liché úterý 16:00–17:50 G123, M. Goljer
Předpoklady
Předpokládá se, že posluchači alespoň na intuitivní úrovni rozumějí základním pojmům (algoritmus, výpočet, datová struktura,...) a že se již setkali se zápisem algoritmů v imperativním i funkcionálním stylu.
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á 29 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. Zaměřuje se na dokazování korektnosti algoritmů a na jejich efektivnost. Základní algoritmické pojmy a konstrukce jsou uváděny bez přímé návaznosti na konkrétní programovací jazyk a bez požadavků na jejich praktickou programovou realizaci. Cílem je naučit studenta pracovat s vlastními algoritmy oproštěnými od implementačních detailů. To dovoluje presentovat poměrně široký záběr technik, používaných ve funkcionálním, imperativním i v objektově orientovaném programování.
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í, využití rekurentních relací při analýze algoritmů.
  • Fundamentální datové struktury: Seznamy, zásobníky a fronty. Binární vyhledávací stromy, vyvážené stromy, representace množin.
  • Ř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. Minimální kostry grafu.
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í
Zkouška je písemná a má dvě části -- v polovině semestru a na jeho konci.
Navazující předměty
Informace učitele
http://www.fi.muni.cz/~libor/vyuka/IB002/
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 2013, jaro 2014, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Návrh algoritmů I

Fakulta informatiky
jaro 2011
Rozsah
2/1. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Mgr. Miroslav Buda (cvičící)
Mgr. Bc. Matúš Goljer (cvičící)
Mgr. Matej Kollár (cvičící)
RNDr. Štěpán Kozák (cvičící)
Mgr. Matúš Madzin (cvičící)
Mgr. Josef Pacula (cvičící)
Oldřich Petr (cvičící)
doc. RNDr. David Svoboda, Ph.D. (cvičící)
Mgr. Marek Trtík, Ph.D. (cvičící)
Mgr. Radek Holčák (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Po 16:00–17:50 D1, Po 16:00–17:50 D3, Po 16:00–17:50 D2
  • Rozvrh seminárních/paralelních skupin:
IB002/01: každý sudý pátek 8:00–9:50 C525, D. Svoboda
IB002/02: každý lichý pátek 8:00–9:50 C525, D. Svoboda
IB002/03: každou sudou středu 14:00–15:50 G123, M. Trtík
IB002/04: každou lichou středu 14:00–15:50 G123, M. Trtík
IB002/05: každé sudé úterý 18:00–19:50 G123, Š. Kozák
IB002/06: každé liché úterý 18:00–19:50 G123, Š. Kozák
IB002/07: každou sudou středu 16:00–17:50 G123, J. Pacula
IB002/08: každou lichou středu 16:00–17:50 G123, J. Pacula
IB002/09: každé sudé úterý 16:00–17:50 G123, M. Kollár
IB002/10: každé liché úterý 16:00–17:50 G123, M. Kollár
IB002/11: každé sudé úterý 8:00–9:50 G123, M. Goljer
IB002/12: každé liché úterý 8:00–9:50 G123, M. Goljer
IB002/13: každý sudý čtvrtek 10:00–11:50 G123, M. Buda
IB002/14: každý lichý čtvrtek 10:00–11:50 G123, M. Buda
IB002/15: každý sudý čtvrtek 12:00–13:50 G123, M. Madzin
IB002/16: každý lichý čtvrtek 12:00–13:50 G123, M. Madzin
IB002/17: každé sudé úterý 16:00–17:50 G101, Š. Kozák
IB002/18: každé liché úterý 16:00–17:50 G101, Š. Kozák
IB002/19: každou sudou středu 12:00–13:50 G123, M. Trtík
IB002/20: každou lichou středu 12:00–13:50 G123, M. Trtík
IB002/21: každou sudou středu 18:00–19:50 G123, J. Pacula
IB002/22: každou lichou středu 18:00–19:50 G123, J. Pacula
Předpoklady
Předpokládá se, že posluchači alespoň na intuitivní úrovni rozumějí základním pojmům (algoritmus, výpočet, datová struktura,...) a že se již setkali se zápisem algoritmů v imperativním i funkcionálním stylu.
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á 28 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. Zaměřuje se na dokazování korektnosti algoritmů a na jejich efektivnost. Základní algoritmické pojmy a konstrukce jsou uváděny bez přímé návaznosti na konkrétní programovací jazyk a bez požadavků na jejich praktickou programovou realizaci. Cílem je naučit studenta pracovat s vlastními algoritmy oproštěnými od implementačních detailů. To dovoluje presentovat poměrně široký záběr technik, používaných ve funkcionálním, imperativním i v objektově orientovaném programování.
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í, využití rekurentních relací při analýze algoritmů.
  • Fundamentální datové struktury: Seznamy, zásobníky a fronty. Binární vyhledávací stromy, vyvážené stromy, representace množin.
  • Ř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. Minimální kostry grafu.
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í
Zkouška je písemná a má dvě části -- v polovině semestru a na jeho konci.
Navazující předměty
Informace učitele
http://www.fi.muni.cz/~libor/vyuka/IB002/
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 2012, jaro 2013, jaro 2014, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Návrh algoritmů I

Fakulta informatiky
jaro 2010
Rozsah
2/1. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Mgr. et Mgr. Martin Derka, M.Sc. (cvičící)
Mgr. Matej Kollár (cvičící)
RNDr. Štěpán Kozák (cvičící)
doc. RNDr. Barbora Kozlíková, Ph.D. (cvičící)
Mgr. Matúš Madzin (cvičící)
Mgr. Rastislav Mirek (cvičící)
Bc. Andrej Pančík (cvičící)
doc. RNDr. David Svoboda, Ph.D. (cvičící)
Mgr. Filip Štefaňák (cvičící)
Mgr. Marek Trtík, Ph.D. (cvičící)
Mgr. Radek Holčák (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Po 18:00–19:50 D1, Po 18:00–19:50 D2, Po 18:00–19:50 D3
  • Rozvrh seminárních/paralelních skupin:
IB002/01: každé sudé úterý 16:00–17:50 B204, M. Kollár
IB002/02: každé liché úterý 16:00–17:50 B204, M. Kollár
IB002/03: každou sudou středu 16:00–17:50 B410, M. Madzin
IB002/04: každou lichou středu 16:00–17:50 B410, M. Madzin
IB002/05: každý sudý čtvrtek 18:00–19:50 B204, F. Štefaňák
IB002/06: každý lichý čtvrtek 18:00–19:50 B204, F. Štefaňák
IB002/07: každé sudé úterý 8:00–9:50 B204, Š. Kozák
IB002/08: každé liché úterý 8:00–9:50 B204, Š. Kozák
IB002/09: každé sudé úterý 14:00–15:50 B204, B. Kozlíková
IB002/10: každé liché úterý 14:00–15:50 B204, B. Kozlíková
IB002/11: každý sudý pátek 12:00–13:50 B204, A. Pančík
IB002/12: každý lichý pátek 12:00–13:50 B204, A. Pančík
IB002/13: každý sudý pátek 8:00–9:50 B204, M. Trtík
IB002/14: každý lichý pátek 8:00–9:50 B204, R. Mirek
IB002/15: každou sudou středu 14:00–15:50 B204, D. Svoboda
IB002/16: každou lichou středu 14:00–15:50 B204, D. Svoboda
IB002/17: každou sudou středu 18:00–19:50 B204, M. Derka
IB002/18: každou lichou středu 18:00–19:50 B204, M. Derka
IB002/19: každou lichou středu 16:00–17:50 B204, R. Mirek
Předpoklady
Předpokládá se, že posluchači alespoň na intuitivní úrovni rozumějí základním pojmům (algoritmus, výpočet, datová struktura,...) a že se již setkali se zápisem algoritmů v imperativním i funkcionálním stylu.
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á 26 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. Zaměřuje se na dokazování korektnosti algoritmů a na jejich efektivnost. Základní algoritmické pojmy a konstrukce jsou uváděny bez přímé návaznosti na konkrétní programovací jazyk a bez požadavků na jejich praktickou programovou realizaci. Cílem je naučit studenta pracovat s vlastními algoritmy oproštěnými od implementačních detailů. To dovoluje presentovat poměrně široký záběr technik, používaných ve funkcionálním, imperativním i v objektově orientovaném programování.
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í, využití rekurentních relací při analýze algoritmů.
  • Fundamentální datové struktury: Seznamy, zásobníky a fronty. Binární vyhledávací stromy, vyvážené stromy, representace množin.
  • Ř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 a do šířky.
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í
Zkouška je písemná a má dvě části -- v polovině semestru a na jeho konci.
Navazující předměty
Informace učitele
http://www.fi.muni.cz/~libor/vyuka/IB002/
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 2011, jaro 2012, jaro 2013, jaro 2014, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Návrh algoritmů I

Fakulta informatiky
jaro 2009
Rozsah
2/1. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Mgr. et Mgr. Martin Derka, M.Sc. (cvičící)
doc. RNDr. Jiří Filipovič, Ph.D. (cvičící)
RNDr. Štěpán Kozák (cvičící)
doc. RNDr. Barbora Kozlíková, Ph.D. (cvičící)
RNDr. Václav Lorenc (cvičící)
Mgr. Matúš Madzin (cvičící)
doc. RNDr. David Svoboda, Ph.D. (cvičící)
Mgr. Filip Štefaňák (cvičící)
Mgr. Marek Trtík, Ph.D. (cvičící)
Mgr. Radek Holčák (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Po 18:00–19:50 D1, Po 18:00–19:50 D2, Po 18:00–19:50 D3
  • Rozvrh seminárních/paralelních skupin:
IB002/01: každé sudé úterý 16:00–17:50 B011, V. Lorenc
IB002/02: každé liché úterý 16:00–17:50 B011, V. Lorenc
IB002/03: každý sudý čtvrtek 12:00–13:50 B011, M. Derka
IB002/04: každý lichý čtvrtek 12:00–13:50 B011, M. Derka
IB002/05: každou sudou středu 8:00–9:50 B011, D. Svoboda
IB002/06: každou lichou středu 8:00–9:50 B011, D. Svoboda
IB002/07: každý sudý pátek 13:00–14:50 B410, M. Trtík
IB002/08: každý lichý pátek 13:00–14:50 B410, M. Trtík
IB002/09: každou sudou středu 12:00–13:50 B011, B. Kozlíková
IB002/10: každou lichou středu 12:00–13:50 B011, M. Madzin
IB002/11: každý sudý čtvrtek 16:00–17:50 B410, B. Kozlíková
IB002/12: každý lichý čtvrtek 16:00–17:50 B410, F. Štefaňák
IB002/13: každou sudou středu 16:00–17:50 B204, J. Filipovič
IB002/14: každou lichou středu 16:00–17:50 B204, J. Filipovič
IB002/15: každou sudou středu 18:00–19:50 B204, Š. Kozák
IB002/16: každou lichou středu 18:00–19:50 B204, Š. Kozák
IB002/17: každý sudý čtvrtek 18:00–19:50 B410, M. Madzin
IB002/18: každý lichý čtvrtek 18:00–19:50 B410, F. Štefaňák
Předpoklady
Předpokládá se, že posluchači jsou schopni číst a psát elementární programy v nějakém funkcionálním a nějakém imperativním programovacím jazyce.
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á 24 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. Zaměřuje se na dokazování korektnosti algoritmů a na jejich efektivnost. Základní algoritmické pojmy a konstrukce jsou uváděny bez přímé návaznosti na konkrétní programovací jazyk a bez požadavků na jejich praktickou programovou realizaci. Cílem je naučit studenta pracovat s vlastními algoritmy oproštěnými od implementačních detailů. To dovoluje presentovat poměrně široký záběr technik, používaných ve funkcionálním, imperativním i v objektově orientovaném programování.
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í, využití rekurentních relací při analýze algoritmů.
  • Fundamentální datové struktury: Seznamy, zásobníky a fronty. Binární vyhledávací stromy, vyvážené stromy, representace množin.
  • Ř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 a do šířky.
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
Metody hodnocení
Zkoušky jsou písemné. Dvě zkoušky jsou průběžné a jedna závěrečná za celý semestr.
Účast na cvičeních je povinná, neučast je možná pouze ze závažných důvodů. Student může maximálně ve dvou případech navštívit jinou skupinu cvičení, než do které je zapsán. V tomto případě je ale povinen tuto skutečnost nahlásit cvičícímu své seminární skupiny e-mailem a zapsat se na prezenční listinu seminární skupiny, na kterou se dostaví.
Navazující předměty
Informace učitele
http://www.fi.muni.cz/~libor/vyuka/IB002/
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 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2014, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Návrh algoritmů I

Fakulta informatiky
jaro 2008
Rozsah
2/1. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
RNDr. Filip Andres (cvičící)
RNDr. Lukáš Boháč (cvičící)
Mgr. et Mgr. Martin Derka, M.Sc. (cvičící)
RNDr. Štěpán Kozák (cvičící)
doc. RNDr. Barbora Kozlíková, Ph.D. (cvičící)
RNDr. Václav Lorenc (cvičící)
Mgr. Matúš Madzin (cvičící)
prof. RNDr. Jan Strejček, Ph.D. (cvičící)
doc. RNDr. David Svoboda, Ph.D. (cvičící)
RNDr. Josef Šprojcar, Ph.D. (cvičící)
Mgr. Filip Štefaňák (cvičící)
Mgr. Marek Trtík, Ph.D. (cvičící)
RNDr. Aleš Zlámal (cvičící)
Mgr. Radek Holčák (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Po 16:00–17:50 D2, Po 16:00–17:50 D3, Po 16:00–17:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB002/01: každou sudou středu 14:00–15:50 A107, J. Strejček
IB002/02: každou lichou středu 14:00–15:50 A107, J. Strejček
IB002/03: každé sudé úterý 12:00–13:50 B011, V. Lorenc
IB002/04: každé liché úterý 12:00–13:50 B011, V. Lorenc
IB002/05: každé sudé úterý 10:00–11:50 B011, B. Kozlíková
IB002/06: každé liché úterý 10:00–11:50 B011, B. Kozlíková
IB002/07: každý sudý pátek 10:00–11:50 B011, D. Svoboda
IB002/08: každý lichý pátek 10:00–11:50 B011, D. Svoboda
IB002/09: každé sudé úterý 8:00–9:50 B410, F. Andres
IB002/10: každé liché úterý 8:00–9:50 B410, F. Andres
IB002/11: každý sudý pátek 8:00–9:50 A107, J. Šprojcar
IB002/12: každý lichý pátek 8:00–9:50 A107, J. Šprojcar
IB002/13: každý sudý čtvrtek 18:00–19:50 B410, L. Boháč
IB002/14: každý lichý čtvrtek 18:00–19:50 B410, L. Boháč
IB002/15: každé sudé úterý 16:00–17:50 B204, L. Škarvada
IB002/16: každé liché úterý 16:00–17:50 B204, L. Boháč
Předpoklady
Předpokládá se, že posluchači jsou schopni číst a psát elementární programy v nějakém funkcionálním a nějakém imperativním programovacím jazyce.
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á 23 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. Zaměřuje se na dokazování korektnosti algoritmů a na jejich efektivnost. Základní algoritmické pojmy a konstrukce jsou uváděny bez přímé návaznosti na konkrétní programovací jazyk a bez požadavků na jejich praktickou programovou realizaci. Cílem je naučit studenta pracovat s vlastními algoritmy oproštěnými od implementačních detailů. To dovoluje presentovat poměrně široký záběr technik, používaných ve funkcionálním, imperativním i v objektově orientovaném programování.
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í, využití rekurentních relací při analýze algoritmů.
  • Fundamentální datové struktury: Seznamy, zásobníky a fronty. Binární vyhledávací stromy, vyvážené stromy, representace množin.
  • Ř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 a do šířky.
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
Metody hodnocení
Zkoušky jsou písemné. Dvě zkoušky budou průběžné (polosemestrální) a jedna závěrečná za celý semestr.
Účast na cvičeních je povinná, neučast je možná pouze ze závažných důvodů. Student může maximálně ve dvou případech navštívit jinou skupinu cvičení, než do které je zapsán. V tomto případě je ale povinen tuto skutečnost nahlásit cvičícímu své seminární skupiny e-mailem a zapsat se na prezenční listinu seminární skupiny, na kterou se dostaví.
Navazující předměty
Informace učitele
http://www.fi.muni.cz/~libor/vyuka/IB002/
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 2009, jaro 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2014, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Návrh algoritmů I

Fakulta informatiky
jaro 2007
Rozsah
2/1. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
prof. RNDr. Tomáš Pitner, Ph.D. (přednášející)
RNDr. Libor Škarvada (přednášející)
doc. RNDr. Jiří Filipovič, Ph.D. (cvičící)
RNDr. Marek Kašík (cvičící)
doc. RNDr. Barbora Kozlíková, Ph.D. (cvičící)
RNDr. Václav Lorenc (cvičící)
doc. RNDr. Martin Maška, Ph.D. (cvičící)
doc. RNDr. Pavel Matula, Ph.D. (cvičící)
doc. Mgr. Hana Rudová, Ph.D. (cvičící)
Mgr. Adriana Strejčková (cvičící)
doc. RNDr. David Svoboda, Ph.D. (cvičící)
RNDr. Aleš Zlámal (cvičící)
Mgr. Radek Holčák (pomocník)
RNDr. Filip Andres (náhr. zkoušející)
RNDr. Lukáš Boháč (náhr. zkoušející)
RNDr. Josef Šprojcar, Ph.D. (náhr. zkoušející)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Po 18:00–19:50 D3, Po 18:00–19:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB002/01: každé sudé úterý 10:00–11:50 B011, H. Rudová
IB002/02: každé liché úterý 10:00–11:50 B011, H. Rudová
IB002/03: každé sudé úterý 18:00–19:50 B011, L. Škarvada
IB002/04: každé liché úterý 18:00–19:50 B011, L. Škarvada
IB002/05: každou sudou středu 12:00–13:50 B011, P. Matula
IB002/06: každou lichou středu 12:00–13:50 B011, P. Matula
IB002/07: každý sudý pátek 10:00–11:50 C511, D. Svoboda
IB002/08: každý lichý pátek 10:00–11:50 C511, D. Svoboda
IB002/09: každé sudé úterý 16:00–17:50 B007, M. Kašík
IB002/10: každé liché úterý 16:00–17:50 B007, M. Kašík
IB002/11: každou sudou středu 8:00–9:50 C511, M. Maška
IB002/12: každou lichou středu 8:00–9:50 C511, M. Maška
IB002/13: každý sudý čtvrtek 10:00–11:50 C511, V. Lorenc, A. Zlámal
IB002/14: každý lichý čtvrtek 10:00–11:50 C511, V. Lorenc, A. Zlámal
IB002/17: každý sudý čtvrtek 18:00–19:50 B410, B. Kozlíková
IB002/18: každý lichý čtvrtek 18:00–19:50 B410, B. Kozlíková
IB002/19: každou sudou středu 18:00–19:50 B003, A. Strejčková
IB002/20: každou lichou středu 18:00–19:50 B003, J. Filipovič
Předpoklady
Předpokládá se, že posluchači jsou schopni číst a psát elementární programy v nějakém funkcionálním a nějakém imperativním programovacím jazyce.
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á 15 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. Zaměřuje se na dokazování korektnosti algoritmů a na jejich efektivnost. Základní algoritmické pojmy a konstrukce jsou uváděny bez přímé návaznosti na konkrétní programovací jazyk a bez požadavků na jejich praktickou programovou realizaci. Cílem je naučit studenta pracovat s vlastními algoritmy oproštěnými od implementačních detailů. To dovoluje presentovat poměrně široký záběr technik, používaných ve funkcionálním, imperativním i v objektově orientovaném programování.
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í, využití rekurentních relací při analýze algoritmů.
  • Fundamentální datové struktury: Seznamy, zásobníky a fronty. Binární vyhledávací stromy, vyvážené stromy, representace množin.
  • Ř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 a do šířky.
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
Metody hodnocení
Zkoušky jsou písemné. Dvě zkoušky budou průběžné (polosemestrální) a jedna závěrečná za celý semestr.
Účast na cvičeních je povinná, neučast je možná pouze ze závažných důvodů. Student může maximálně ve dvou případech navštívit jinou skupinu cvičení, než do které je zapsán. V tomto případě je ale povinen tuto skutečnost nahlásit cvičícímu své seminární skupiny e-mailem a zapsat se na prezenční listinu seminární skupiny, na kterou se dostaví.
Navazující předměty
Informace učitele
http://www.fi.muni.cz/~libor/vyuka/IB002/
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 2008, jaro 2009, jaro 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2014, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Návrh algoritmů I

Fakulta informatiky
jaro 2006
Rozsah
2/0. 2 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
prof. RNDr. Tomáš Pitner, Ph.D. (přednášející)
RNDr. Libor Škarvada (přednášející)
Mgr. Radek Holčák (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Po 16:00–17:50 D1, St 10:00–11:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB002/sc: St 13:00–14:50 C502, L. Škarvada
IB002/sp: Út 18:00–19:50 C502, L. Škarvada
Předpoklady
! I002 Návrh algoritmů I &&! I502 Návrh algoritmů I
Předpokládá se, že posluchači jsou schopni číst a psát elementární programy v nějakém funkcionálním a nějakém imperativním programovacím jazyku.
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á 15 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. Zaměřuje se na dokazování korektnosti algoritmů a na jejich efektivnost. Základní algoritmické pojmy a konstrukce jsou uváděny bez přímé návaznosti na konkrétní programovací jazyk a bez požadavků na jejich praktickou programovou realizaci. Cílem je naučit studenta pracovat s vlastními algoritmy oproštěnými od implementačních detailů. To dovoluje presentovat poměrně široký záběr technik, používaných ve funkcionálním, imperativním i v objektově orientovaném programování.
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í, využití rekurentních relací při analýze algoritmů.
  • Fundamentální datové struktury: Seznamy, zásobníky a fronty. Binární vyhledávací stromy, vyvážené stromy, representace množin.
  • Třídicí algoritmy: Třídění rozdělováním, slučováním, haldou, dolní odhad složitosti.
  • Základní grafové algoritmy: Representace grafů. Procházení grafu do hloubky a do šířky.
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
Metody hodnocení
Kurs veden formou přednášek a je ukončen závěrečnou písemnou zkouškou.
Navazující předměty
Informace učitele
http://www.fi.muni.cz/~libor/vyuka/IB002/
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 2007, jaro 2008, jaro 2009, jaro 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2014, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Návrh algoritmů I

Fakulta informatiky
jaro 2005
Rozsah
2/0. 2 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
prof. RNDr. Tomáš Pitner, Ph.D. (přednášející)
RNDr. Libor Škarvada (přednášející)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Po 18:00–19:50 D1, St 10:00–11:50 D1
Předpoklady
! I002 Návrh algoritmů I &&! I502 Návrh algoritmů I
Předpokládá se, že posluchači jsou schopni číst a psát elementární programy v nějakém funkcionálním a nějakém imperativním programovacím jazyku.
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á 15 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. Zaměřuje se na dokazování korektnosti algoritmů a na jejich efektivnost. Základní algoritmické pojmy a konstrukce jsou uváděny bez přímé návaznosti na konkrétní programovací jazyk a bez požadavků na jejich praktickou programovou realizaci. Cílem je naučit studenta pracovat s vlastními algoritmy oproštěnými od implementačních detailů. To dovoluje presentovat poměrně široký záběr technik, používaných ve funkcionálním, imperativním i v objektově orientovaném programování.
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í, využití rekurentních relací při analýze algoritmů.
  • Fundamentální datové struktury: Seznamy, zásobníky a fronty. Binární vyhledávací stromy, vyvážené stromy, representace množin.
  • Třídicí algoritmy: Třídění rozdělováním, slučováním, haldou, dolní odhad složitosti.
  • Základní grafové algoritmy: Representace grafů. Procházení grafu do hloubky a do šířky.
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
Metody hodnocení
Kurs veden formou přednášek a je ukončen závěrečnou písemnou zkouškou.
Navazující předměty
Informace učitele
http://www.fi.muni.cz/~libor/vyuka/IB002/
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 2006, jaro 2007, jaro 2008, jaro 2009, jaro 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2014, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Návrh algoritmů I

Fakulta informatiky
jaro 2004
Rozsah
2/0. 2 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
prof. RNDr. Tomáš Pitner, Ph.D. (přednášející)
RNDr. Libor Škarvada (přednášející)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
St 16:00–17:50 D1, Čt 10:00–11:50 D1
Předpoklady
! I002 Návrh algoritmů I &&! I502 Návrh algoritmů I
Předpokládá se, že posluchači jsou schopni číst a psát elementární programy v nějakém funkcionálním a nějakém imperativním programovacím jazyku.
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á 17 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. Zaměřuje se na dokazování korektnosti algoritmů a na jejich efektivnost. Základní algoritmické pojmy a konstrukce jsou uváděny bez přímé návaznosti na konkrétní programovací jazyk a bez požadavků na jejich praktickou programovou realizaci. Cílem je naučit studenta pracovat s vlastními algoritmy oproštěnými od implementačních detailů. To dovoluje presentovat poměrně široký záběr technik, používaných ve funkcionálním, imperativním i v objektově orientovaném programování.
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í, využití rekurentních relací při analýze algoritmů.
  • Fundamentální datové struktury: Seznamy, zásobníky a fronty. Binární vyhledávací stromy, vyvážené stromy, representace množin.
  • Třídicí algoritmy: Třídění rozdělováním, slučováním, haldou, dolní odhad složitosti.
  • Základní grafové algoritmy: Representace grafů. Procházení grafu do hloubky a do šířky.
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
Metody hodnocení
Kurs veden formou přednášek a je ukončen závěrečnou písemnou zkouškou.
Navazující předměty
Informace učitele
http://www.fi.muni.cz/usr/skarvada/vyuka/IB002/
Další komentáře
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 2005, jaro 2006, jaro 2007, jaro 2008, jaro 2009, jaro 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2014, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IB002 Návrh algoritmů I

Fakulta informatiky
jaro 2003
Rozsah
2/0. 2 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
prof. RNDr. Tomáš Pitner, Ph.D. (přednášející)
RNDr. Libor Škarvada (přednášející)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Út 10:00–11:50 D1, Út 18:00–19:50 D1
Předpoklady
! I002 Návrh algoritmů I &&! I502 Návrh algoritmů I
Předpokládá se, že posluchači jsou schopni číst a psát elementární programy v nějakém funkcionálním a nějakém imperativním programovacím jazyku.
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á 8 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. Zaměřuje se na dokazování korektnosti algoritmů a na jejich efektivnost. Základní algoritmické pojmy a konstrukce jsou uváděny bez přímé návaznosti na konkrétní programovací jazyk a bez požadavků na jejich praktickou programovou realizaci. Cílem je naučit studenta pracovat s vlastními algoritmy oproštěnými od implementačních detailů. To dovoluje presentovat poměrně široký záběr technik, používaných ve funkcionálním, imperativním i v objektově orientovaném programování.
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í, využití rekurentních relací při analýze algoritmů.
  • Fundamentální datové struktury: Seznamy, zásobníky a fronty. Hašovací tabulky. Binární vyhledávací stromy, vyvážené stromy, representace množin.
  • Třídicí algoritmy: Třídění rozdělováním, slučováním, haldou, dolní odhad složitosti.
  • Základní grafové algoritmy: Representace grafů. Procházení grafu do hloubky a do šířky.
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
Metody hodnocení
Kurs veden formou přednášek a je ukončen závěrečnou písemnou zkouškou.
Navazující předměty
Informace učitele
http://www.fi.muni.cz/usr/skarvada/vyuka/IB002/
Další komentáře
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 2004, jaro 2005, jaro 2006, jaro 2007, jaro 2008, jaro 2009, jaro 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2014, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.