Graph-Theoretic Algorithms: Lecture Notes
Author :
Therese Biedl,
School of Computer Science,
University of Waterloo
Publication Date : September 2005
Excerpts from the Notes:
This document results from the teaching of
CS 762: Graph-Theoretic Algorithms at the University of Waterloo in Fall 1999, Winter 2002 and Winter 2004.
The course objective is to give the student further exposure to the design, analysis, and application of algorithms for problems defined on graphs. For various graphs classes, the course will study how to recognize such graphs, and what problems become easier if we have such a graph.
Specific graph classes are:
* Interval graphs and friends, in particular comparability graphs, chordal graphs, perfect graphs.
* Trees and friends, in particular k-trees, partial k-trees, series-parallel graphs, graphs of bounded pathwidth.
* Planar graphs and friends, in particular outerplanar graphs, k-outerplanar graphs.
* Hereditary graph classes and the Graph Minor Theorem.
The topic of graph algorithms is so unbelievably big that it is entirely hopeless to want to hold just one course about them. Even focusing on advanced graph algorithms (whatever "advanced" may mean) doesn't help, because there is still too many algorithms to cover. The focus of this course was therefore even more specialized: These notes intended to look at problems which are "normally" difficult (which means a high polynomial running-time, or even NP-complete), but which can be solved faster when focusing on a specialized subclass.
Intended Audience:
These notes assume that the reader is familiar with the following topics:
* Data structures, in particular lists, stacks, queues, trees, bucket sorting, graph traversals.
* Graph theory and combinatorial optimization, in particular graph definitions, shortest paths, flows, matchings.
* Analysis of algorithms, in particular the O-notation and NP-completeness.
For some of these topics, a brief review is given here (see the appendix), but for more details, the reader is referred to for example [CLRS00] for data structures and analysis of algorithms, and [Gib85] for graph theory and combinatorial optimization.
View / Download Graph-Theoretic Algorithms: Lecture Notes |
Course homepage -- URL's removed; lecture notes are no longer freely available for public.