Algoritmy a grafy 1
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BIK-AG1.21 | Z,ZK | 5 | 14KP+4KC | česky |
- Garant předmětu:
- Dušan Knop
- Přednášející:
- Radek Hušek
- Cvičící:
- Radek Hušek
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
Předmět pokrývá to nejzákladnější z efektivních algoritmů, datových struktur a teorie grafů, které by měl znát každý informatik. Studenti se naučí techniky důkazů korektnosti jednotlivých algoritmů a techniky asymptotické matematiky pro určování jejich složitostí v nejlepším, nejhorším, či průměrném případě (předmět zahrnuje i základy teorie pravděpodobnosti nutné pro pochopení randomizovaných algoritmů). V rámci cvičení se studenti seznamují s použitím vysvětlovaných algoritmů pro řešení praktických problémů.
- Požadavky:
-
Předpokládá se schopnost aktivního algoritmického řešení základních typů úloh, znalost nějakého vyššího programovacího jazyka (Java, C++) a znalost základních pojmů z matematické analýzy a kombinatoriky. Předmět předpokládá, že student souběžně studuje BI-AAG a BI-ZDM.
- Osnova přednášek:
-
1. Motivace, definice grafu, důležité grafy, neorientované grafy, reprezentace grafů, podgrafy.
2. Souvislost, komponenty, DFS, zavedení orientovaného grafu, stromy.
3. Kostry, vzdálenosti, BFS, topologické řazení.
4. Přehled základních algoritmů řazení s kvadratickou složitostí. Zavedení pojmu binární halda jako částečně uspořádané struktury. HeapSort.
5. Nafukovací pole, amortizovaná složitost. Binomiální haldy.
6. Operace a vlastnosti binárních vyhledávacích stromů, způsoby jejich vyvažování, podrobnější diskuze AVL stromů.
7. Randomizované algoritmy, základy pravděpodobnosti, hešování a strategie řešení kolizí.
8. Rekurzivní algoritmy a metoda Rozděl a panuj.
9. QuickSort. Dolní mez složitosti řazení v porovnávacím modelu. Speciální algoritmy řazení.
10. Dynamické programování.
11. Minimální kostra ohodnoceného grafu. Jarníkův a Kruskalův algoritmus a jejich implementace.
12. [2] Algoritmy hledání nejkratších cest v ohodnoceném grafu.
- Osnova cvičení:
-
1. Motivace a úvod do teorie grafů.
2. Základní definice a pojmy teorie grafů I.
3. Základní definice a pojmy teorie grafů II. 1. progtest
4. Řadící algoritmy O(n^2). Binární haldy.
5. Nafukovací pole, amortizovaná složitost, binomiální haldy.
6. Vyhledávací stromy a jejich vyvažování. 2. progtest
7. Pravděpodobnostní algoritmy a jejich složitost. QuickSort.
8. Rozptylování (hešování) a vyhledávací tabulky.
9. Rekurzivní algoritmy a metoda Rozděl a panuj.
10. Semestrální písemka.
11. Dynamické programování. 3. progtest
12. Minimální kostry a nejkratší cesty v grafech.
- Cíle studia:
-
Předmět pokrývá to nejzákladnější z efektivních algoritmů, datových struktur a teorie grafů, které by měl znát každý informatik.Spolupracuje se souběžně vyučovanými předměty BI-AAG a BI-ZDM, ve kterých studenti získají znalosti a dovednosti nezbytné pro vyhodnocování operační a paměťové složitosti algoritmů a naučí se prakticky používat asymptotickou matematiku.
- Studijní materiály:
-
1. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C. : Introduction to Algorithms (3rd Edition). MIT Press, 2016. ISBN 978-0262033848.
2. Wengrow J. : A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills (2nd Edition). Pragmatic Bookshelf, 2020. ISBN 978-1680507225.
3. Sedgewick R. : Algorithms (4th Edition). Addison-Wesley, 2011. ISBN 978-0321573513.
4. Deo N. : Graph Theory with Applications to Engineering and Computer Science. Dover Publications, 2016. ISBN 978-048680793.
5. Bickle A. : Fundamentals of Graph Theory. AMS, 2020. ISBN 978-1470453428.
- Poznámka:
-
Chybí některá textová pole,vyplněny mají být anotace, požadavky, osnova (sylabus), osnova cvičení, studijní materiály, klíčová slova, CZ i EN, webová strana předmětu
- Další informace:
- https://courses.fit.cvut.cz/BIK-AG1/index.html
- Rozvrh na zimní semestr 2024/2025:
- Rozvrh není připraven
- Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Bc. specializace Informační bezpečnost, kombi., 2021 (povinný předmět programu)
- Bc. specializace Softwarové inženýrství, kombi., 2021 (povinný předmět programu)
- Bc. specializace Počítačové sítě a Internet, kombi., 2021 (povinný předmět programu)
- Bc. specializace Počítačové systémy a virtualizace, kombi., 2021 (povinný předmět programu)
- Bc. program, pro fázi studia bez specializace, kombi., 2021 (povinný předmět programu)