This is a revision of a one-semester survey of combinatorial analysis and graph theory, designed for mathematics and computer science majors. Three principal aspects of combinatorial reasoning are emphasized in this book: the systematic analysis of different possibilities, the exploration of the logical structure of a problem, and ingenuity. Keeping theory to a minimum, it uses numerical examples to demonstrate the combinatorial reasoning involved...