Skip to main content

Section 1.1 Introduction

There are three principal themes to our course:

Discrete Structures

Graphs, digraphs, networks, designs, posets, strings, patterns, distributions, coverings, and partitions.


Permutations, combinations, inclusion/exclusion, generating functions, recurrence relations, and Pólya counting.

Algorithms and Optimization

Sorting, eulerian circuits, hamiltonian cycles, planarity testing, graph coloring, spanning trees, shortest paths, network flows, bipartite matchings, and chain partitions.

To illustrate the accessible, concrete nature of combinatorics and to motivate topics that we will study, this preliminary chapter provides a first look at combinatorial problems, choosing examples from enumeration, graph theory, number theory, and optimization. The discussion is very informal—but this should serve to explain why we have to be more precise at later stages. We ask lots of questions, but at this stage, you'll only be able to answer a few. Later, you'll be able to answer many more … but as promised earlier, most likely you'll never be able to answer them all. And if we're wrong in making that statement, then you're certain to become very famous. Also, you'll get an A\(++\) in the course and maybe even a Ph.D. too.