Lecturer(s)
|
-
Masopust Tomáš, doc. RNDr. Ph.D., DSc.
|
Course content
|
Syllabus of lectures: 1. Introduction, algorithmic complexity, basic notions and graph reprezentations 2. Graph searching, depth-first search, breadth-first search 3. Topological sorting, acyclic graphs 4. Graph components, strongly connected components 5. Trees, minimal spanning trees, algorithms of Jarník and Borůvka 6. Growing a minimal spanning tree, algorithms of Kruskal and Prim 7. Single-source shortest paths, the Bellman-Ford algorithm, shortest path in DAGs 8. Dijkstra's algorithm. All-pairs shortest paths 9. Shortest paths and matrix multiplication, the Floyd-Warshall algorithm 10. Flows and cuts in networks, maximal flow, minimal cut, the Ford-Fulkerson algorithm 11. Matching in bipartite graphs, maximal matching 12. Euler graphs and tours and Hamilton cycles 13. Graph coloring
|
Learning activities and teaching methods
|
Lecture, Demonstration
|
Learning outcomes
|
Students will acquire the basic knowledge of graphs and graph algorithms and their complexity analysis.
Learning outcomes and competencies: Ability to construct an algorithm for a graph problem and to analyze its time and space complexity.
|
Prerequisites
|
Basic knowledge of discrete mathematics and the ability of algorithmic thinking.
|
Assessment methods and criteria
|
Oral exam, Written exam, Seminar Work
Active participation in the class. Completion of assigned homeworks. Passing the final exam.
|
Recommended literature
|
-
J. Demel. (2002). Grafy a jejich aplikace. Academia.
-
J. Demel. (1988). Grafy. SNTL Praha.
-
J.A. Bondy, U.S.R. Murty. (2008). Graph Theory. Springer.
-
J.A. McHugh. (1990). Algorithmic Graph Theory. Prentice-Hall.
-
J.L. Gross, J. Yellen. (2005). Graph Theory and Its Applications. Chapman & Hall/CRC.
-
R. Diestel. (2017). Graph Theory. Springer-Verlag, Heidelberg.
-
T.H. Cormen, C.E. Leiserson, R.L. Rivest. (2002). Introduction to Algorithms. McGraw-Hill.
|