Course detail
Graph Algorithms
FSI-9GRAAcad. year: 2023/2024
The course focuses on graph theory and familiarises students with fundamental terms and algorithms. It deals with the following topics: Graph representation. Time complexity of algorithms. Data structures (binary heap, disjoint sets, ...). Eulearian trails, Hamiltonian paths. Breadth-first searching, depth-first searching, backtracking, branch and bound method. Connectivity and reachability. Shortest path problems (Dijkstra's algorithm, Floyd-Warshall algorithm). Network graphs. Trees, spanning tree problem, Steiner tree problems. Fundamentals of computational geometry - visibility graphs, Voronoi diagrams, Delaunay triangulation. Network flows. Graph colouring. Graph matching.
Language of instruction
Mode of study
Guarantor
Entry knowledge
Rules for evaluation and completion of the course
Aims
The students will be made familiar with the basics of the graph theory and graph algorithms. This will provide them with tools for using graphs to model various practical problems, which may then be solved by using the graph algorithms.
Study aids
Prerequisites and corequisites
Basic literature
Gross, J.L. and Yellen, J.: Graph Theory and Its Applications. CRC Press, Boca Raton, 1998. (EN)
Gross, J.L. and Yellen, J.: Handbook of Graph Theory. CRC Press, Boca Raton, 2004. (EN)
Chartrand, G. and Oellermann, O.R.: Applied Algorithmic Graph Theory. McGraw Hill, New York, 1993. (EN)
Recommended reading
Michaels, J.G. and Rosen, K.H.: Applications of Discrete Mathematics. McGraw Hill, New York, 1991. (EN)
Sedgewick, R.: Algorithms in Java, Part 5: Graph Algorithms. Addison Wesley, New York, 2002. (EN)
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
2. Computer representation of a graph.
3. Time and space complexity of algorithms.
4. Graph searching, backtracking, branch and bound method.
5. Applications of path problems, shortest paths, network graphs.
6. Eulerian trails, Hamiltonian paths and circles.
7. Connected components, trees and spanning trees.
8. Steiner trees.
9. Voronoi diagrams, Delaunay triangulation.
10. Graph colouring, cliques.
11.-12. Network flows.
13. Graph matching.