Algorithms and Graphs 2
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BI-AG2.21 | Z,ZK | 5 | 2P+2C | Czech |
- Garant předmětu:
- Lecturer:
- Tutor:
- Supervisor:
- Department of Theoretical Computer Science
- Synopsis:
-
This course, presented in Czech, introduces basic algorithms and concepts of graph theory as a follow=up on the introduction given in the compulsory course BI-AG1.21. It further delves into advances data structures and amortized complexity analysis. It also includes a very light introduction to approximation algorithms.
For English version of the course see BIE-AG2.21.
- Requirements:
-
Knowledge of graph theory, graph algorithms, data structures, and amortized analysis in scope of BI-AG1.21 is assumed. In some lectures we further make use of basic knowledge from BI-MA1.21, BI-LA1.21, or BI-DML.21.
- Syllabus of lectures:
-
1. Havel's theorem, DFS tree, 2-connectivity, an algorithm for finding bridges.
2. Finding strongly connected components, characterization of 2-connected graphs.
3. Networks, flows in networks, Ford-Fulkerson algorithm.
4. k-Connectivity, Ford-Fulkerson theorem, Menger's theorem.
5. Matching, finding matching in bipartite graphs, Hall's theorem and its corollaries.
6. Planar graphs, planar drawing, Euler's formula and its corollaries, Kuratowski's theorem.
7. Dual of a plane graph, multigraphs, graph coloring, first-fit algorithm, Five Color theorem, Mycielski's construction.
8. Finding all-pairs distance, Floyd-Warshall algorithm, using Dijkstra's algorithm.
9. Fibonacci heaps.
10. (a,b)-trees, B-trees, universal hashing.
11. Eulerian graphs, cycle space of a graph.
12. Hamiltonian graphs, Traveling Salesperson problem, approximation algorithms.
13. Algorithms of computational geometry, convex envelope, sweep-line.
- Syllabus of tutorials:
-
1. Renewal of knowledge from BIE-AG1
2. Havel's theorem, DFS tree, 2-connectivity, an algorithm for finding bridges.
3. Finding strongly connected components, characterization of bipartite graphs.
4. Networks, flows in networks, Ford-Fulkerson algorithm.
5. k-Connectivity, Ford-Fulkerson theorem, Menger's theorem.
6. Matching, finding matching in bipartite graphs, Hall's theorem and its corollaries.
7. Planar graphs, planar drawing, Euler's formula and its corollaries, Kuratowski's theorem.
8. Dual of a plane graph, multigraphs, graph coloring, first-fit algorithm, Five Color theorem, Mycielski's construction.
9. Finding all-pairs distance, Floyd-Warshall algorithm, using Dijkstra's algorithm, Fibonacci heaps.
10. semestral test
11. (a,b)-trees, B-trees, universal hashing, Eulerian graphs, cycle space of a graph.
12. Hamiltonian graphs, Traveling Salesperson problem, approximation algorithms.
- Study Objective:
-
The goals of the study are to get familiar with the most basic terms and relations of the Graph Theory, graph algorithms and data structures, which were not part of the BIE-AG1.21 course. Another goal is to understand more complex amortized analysis and to gain basic knowledge of approximation and geometric algorithms.
- Study materials:
-
1. Mareš M., Valla T. : Průvodce labyrintem algoritmů. CZ.NIC, 2017. ISBN 978-80-88168-22-5.
2. Diestel R. : Graph Theory (5th Edition). Springer, 2017. ISBN 978-3-662-53621-6.
3. West D. B. : Introduction to Graph Theory (2nd Edition). Prentice-Hall, 2001. ISBN 978-0130144003.
4. Cormen T. H., Leiserson C. E., Rivest R. L., Stein C. : Introduction to Algorithms (3rd Edition). MIT Press, 2016. ISBN 978-0262033848.
5. Matoušek J., Nešetřil J. : Kapitoly z diskrétní matematiky, čtvrté vydání,. Karolinum, 2010. ISBN 978-80-246-1740-4.
- Note:
- Further information:
- https://courses.fit.cvut.cz/BI-AG2/
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- Master specialization Computer Security, in Czech, 2020 (elective course)
- Master specialization Design and Programming of Embedded Systems, in Czech, 2020 (elective course)
- Master specialization Computer Systems and Networks, in Czech, 202 (elective course)
- Master specialization Management Informatics, in Czech, 2020 (elective course)
- Master specialization Software Engineering, in Czech, 2020 (elective course)
- Master specialization System Programming, in Czech, version from 2020 (elective course)
- Master specialization Web Engineering, in Czech, 2020 (elective course)
- Master specialization Knowledge Engineering, in Czech, 2020 (elective course)
- Master specialization Computer Science, in Czech, 2020 (elective course)
- Mgr. programme, for the phase of study without specialisation, ver. for 2020 and higher (elective course)
- Bachelor Specialization Information Security, in Czech, 2021 (elective course)
- Bachelor Specialization Management Informatics, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Graphics, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Engineering, in Czech, 2021 (elective course)
- Bachelor program, unspecified specialization, in Czech, 2021 (VO)
- Bachelor Specialization Web Engineering, in Czech, 2021 (elective course)
- Bachelor Specialization Artificial Intelligence, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Science, in Czech, 2021 (PS)
- Bachelor Specialization Software Engineering, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Systems and Virtualization, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Networks and Internet, in Czech, 2021 (elective course)
- Study plan for Ukrainian refugees (elective course)
- Master specialization System Programming, in Czech, version from 2023 (elective course)
- Master specialization Computer Science, in Czech, 2023 (elective course)
- Bachelor Specialization Information Security, in Czech, 2024 (elective course)
- Bachelor program, unspecified specialization, in Czech, 2024 (VO)
- Bachelor Specialization Management Informatics, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Graphics, in Czech, 2024 (elective course)
- Bachelor Specialization Software Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Web Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Networks and Internet, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Systems and Virtualization, in Czech, 2024 (elective course)
- Bachelor Specialization Artificial Intelligence, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Science, in Czech, 20214 (PS)