This introduction to combinatorics, the foundation of the interaction between computer science and mathematics, is suitable for upper-level undergraduates and graduate students in engineering, science, and mathematics. The four-part treatment begins with a section on counting and listing that covers basic counting, functions, decision trees, and sieving methods. The following section addresses fundamental concepts in graph theory and a sampler of graph topics. The third part examines a variety of applications relevant to computer science and mathematics, including induction and recursion, sorting theory, and rooted plane trees. The final section, on generating functions, offers students a powerful tool for studying counting problems. Numerous exercises appear throughout the text, along with notes and references. The text concludes with solutions to odd-numbered exercises and to all appendix exercises.
From the Back Cover
The book provides a solid introductory course for mathematics and mathematical computer science students. Designed for use in a number of courses, this book is appropriate for rigorous lower division courses, upper division courses in engineering, science, and mathematics, and beginning graduate courses. The material has been fully class-tested and includes many helpful examples and exercises. A solutions manual is also available.