Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2022/2023

Algoritmy a grafy 1

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
BI-AG1.21 Z,ZK 5 2P+2C česky
Přednášející:
Dušan Knop (gar.), Tomáš Valla
Cvičící:
Dušan Knop (gar.), Michal Dvořák, Radek Hušek, Daniel Král, Jan Matyáš Křišťan, Xuan Thang Nguyen, Michal Opler, Vojtěch Rozhoň, Martin Slávik, Ondřej Šofr, Tomáš Valla
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-DML.

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:
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í klíčová slova česky i anglicky.

Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BI-AG1/

Na tento předmět navazuje v magisterském studiu předmět Paralelní a distribuované programování.

Další informace:
https://courses.fit.cvut.cz/BI-AG1
Rozvrh na zimní semestr 2022/2023:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
místnost TK:BS
Valla T.
09:15–10:45
(přednášková par. 1)
Dejvice
NTK Ballingův sál
místnost T9:301
Dvořák M.
11:00–12:30
(paralelka 1)
Dejvice
NBFIT učebna
místnost T9:301
Dvořák M.
12:45–14:15
(paralelka 3)
Dejvice
NBFIT učebna
místnost T9:347
Nguyen X.
14:30–16:00
(paralelka 5)
Dejvice
NBFIT učebna
místnost T9:347
Slávik M.
16:15–17:45
(paralelka 7)
Dejvice
NBFIT učebna
místnost T9:347
Slávik M.
18:00–19:30
(paralelka 9)
Dejvice
NBFIT učebna
místnost T9:347
Šofr O.
11:00–12:30
(paralelka 2)
Dejvice
NBFIT učebna
místnost T9:347
Šofr O.
12:45–14:15
(paralelka 4)
Dejvice
NBFIT učebna
místnost TH:A-1442
Opler M.
14:30–16:00
(paralelka 6)
Thákurova 7 (FSv-budova A)
místnost TH:A-1442
Opler M.
16:15–17:45
(paralelka 8)
Thákurova 7 (FSv-budova A)
místnost TH:A-1442
Křišťan J.
18:00–19:30
(paralelka 10)
Thákurova 7 (FSv-budova A)
místnost TK:BS
Knop D.
16:15–17:45
(přednášková par. 2)
Dejvice
NTK Ballingův sál
Út
místnost T9:347
Valla T.
11:00–12:30
(paralelka 11)
Dejvice
NBFIT učebna
St
místnost T9:302
Hušek R.
16:15–17:45
(paralelka 12)
Dejvice
NBFIT učebna
místnost T9:302
Hušek R.
18:00–19:30
(paralelka 13)
Dejvice
NBFIT učebna
Čt
místnost T9:346
Rozhoň V.
07:30–09:00
(paralelka 14)
Dejvice
NBFIT učebna
místnost T9:347
Nguyen X.
09:15–10:45
(paralelka 16)
Dejvice
NBFIT učebna
místnost TH:A-1247
Knop D.
07:30–09:00
(paralelka 15)
Thákurova 7 (FSv-budova A)
seminární místnost
místnost TH:A-1247
Knop D.
09:15–10:45
(paralelka 17)
Thákurova 7 (FSv-budova A)
seminární místnost

místnost T9:346
Opler M.
07:30–09:00
(paralelka 18)
Dejvice
NBFIT učebna
místnost TH:A-1247
Král D.
09:15–10:45
(paralelka 19)
Thákurova 7 (FSv-budova A)
seminární místnost
místnost T9:346
Opler M.
11:00–12:30
(paralelka 20)
Dejvice
NBFIT učebna
Rozvrh na letní semestr 2022/2023:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 30. 1. 2023
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet6546906.html