This long-awaited textbook is the most comprehensive introduction to a broad swath of combinatorial and discrete mathematics. The text covers enumeration, graphs, sets, and methods, and it includes both classical results and more recent developments. Assuming no prior exposure to combinatorics, it explains the basic material for graduate-level students in mathematics and computer science. Optional more advanced material also makes it valuable as a research reference. Suitable for a one-year course or a one-semester introduction, this textbook prepares students to move on to more advanced material. It is organized to emphasize connections among the topics, and facilitate instruction, self-study, and research, with more than 2200 exercises (many accompanied by hints) at various levels of difficulty. Consistent notation and terminology are used throughout, allowing for a discussion of diverse topics in a unified language. The thorough bibliography, containing thousands of citations, makes this a valuable source for students and researchers alike.