Basic Concepts: Graphs and digraphs, incidence and adjacency matrices, isomorphism, the automorphism group;
Trees: Equivalent definitions of trees and forests, Cayleys formula, the Matrix-Tree theorem, minimum spanning trees;
Connectivity: Cut vertices, cut edges, bonds, the cycle space and the bond space, blocks, Menger's theorem;
Paths and Cycles: Euler tours, Hamilton paths and cycles, theorems of Dirac, Ore, Bondy and Chvatal, girth, circumference, the Chinese Postman Problem, the Travelling Salesman problem, diameter and maximum degree, shortest paths;
Matchings: Berge's Theorem, perfect matchings, Hall's theorem, Tutte's theorem, Konig's theorem, Petersen's theorem, algorithms for matching and weighted matching (in both bipartite and general graphs), factors of graphs (decompositions of the complete graph), Tutte's f-factor theorem;
Extremal problems: Independent sets and covering numbers, Turan's theorem, Ramsey theorems;
Colorings: Brook's theorem, the greedy algorithm, the Welsh-Powell bound, critical graphs, chromatic polynomials, girth and chromatic number, Vizing's theorem;
Graphs on surfaces: Planar graphs, duality, Euler's formula, Kuratowski's theorem, toroidal graphs, 2-cell embeddings, graphs on other surfaces;
Directed graphs: Tournaments, directed paths and cycles, connectivity and strongly connected digraphs, branchings;
Networks and flows: Flow cuts, Max flow min cut theorems, perfect square;
Selected topics: Dominating sets, the reconstruction problem, intersection graphs, perfect graphs, random graphs.
Two class tests will be conducted for this course.