The course is neither wide (only a relatively small number of topics within graph theory are studied) nor deep (only some properties of each of the studied problems are investigated, with a clear focus on the development of algorithms).On the other hand, the course is formal. Each lemma and theorem presented is mathematically proven. In consequence, whenever an algorithm based on the proved statements is developed, its correctness follows from the correctness of the proved statements.The topics covered in the course are:
- Basic notions on graphs and subgraphs.
- Data structures for graphs representation.
- Search algorithms in graphs and their applications.
- Maximum matching in graphs
- Cycles paths and shortest paths
- Trees and Forests, Spanning trees
- Eulerian Circuits.- Introduction to complexity theory
- Examples of applications of graph theory to logistic problems.