Discrete Mathematics and Graph Theory
Basic counting principle: Pigeonhole principle, inclusion - exclusion principle, recurrence relations, generating functions. Fundamentals of logic, set theory, language, and finite state machines.
Undirected and direct graphs, modelling with graphs, trial and cycle- Eulerian trial and Hamilton cycle, connectivity and trees. Graph algorithms: BFS, DFS, shortest path, optimal spanning trees, matching, job assignment problem, optimal transportation through flows in networks
