内容简介
1 AN INTRODUCTION TO COMBINATORIAL PROBLEMS AND TECHNIQUES
1.1 The Time to Complete a Project
1.2 A Matching Problem
1.3 A Knapsack Problem
1.4 Algorithms and Their Efficiency
Historical Notes
Supplementary Exercises
Computer Projects
Suggested Readings
2 SETS,RELATIONS,AND FUNCTIONS
2.1 Set Operations
2.2 Equivalence Relations
2.3 Partial Ordering Relations
2.4 Functions
2.5 Mathematical Induction
2.6 Applications
Historical Notes
Supplementary Exercises
Computer Projects
Suggested Readings
3 CODING THEORY
3.1 Congruence
3.2 The Euclidean Algorithm
3.3 The RSA Method
3.4 Error-Detecting and Error-Correcting Codes
3.5 Matrix Codes
3.6 Matrix Codes that Correct All Single-Digit Errors
Historical Notes
Supplementary Exercises
Computer Projects
Suggested Readings
4 GRAPHS
4.1 Graphs and Their Representations
4.2 Paths and Circuits
4.3 Shortest Paths and Distance
4.4 Coloring a Graph
4.5 Directed Graphs and Multigraphs
Historical Notes
Supplementary Exercises
Computer Projects
Suggested Readings
5 TREES
5.1 Properties of Trees
5.2 Spanning Trees
5.3 Depth-First Search
5.4 Rooted Trees
5.5 Binary Trees and Traversals
5.6 Optimal Binary Trees and Binary Search Trees
Historical Notes
Supplementary Exercises
Computer Projects
Suggested Readings
6 MATCHING
6.1 Systems of Distinct Representatives
6.2 Matchings in Graphs
6.3 A Matching Algorithm
6.4 Applications of the Algorithm
6.5 The Hungarian Method
Historical Notes
Supplementary Exercises
Computer Projects
Suggested Readings
7 NETWORK FLOWS
7.1 Flows and Cuts
7.2 A Flow Augmentation Algorithm
7.3 The Max-Flow Min-CutTheorem
7.4 Flows and Matchings
Historical Notes
Supplementary Exercises
Computer Projects
Suggested Readings
8 COUNTING TECHNIQUES
8.1 Pascal's Triangle and the Binomial Theorem
8.2 Three Fundamental Principles
8.3 Permutations and Combinations
8.4 Arrangements and Selections with Repetitions
8.5 Probability
8.6 The Principle of Inclusion-Exclusion
8.7 Generating Permutations and r-Combinations
Historical Notes
Supplementary Exercises
Computer Projects
Suggested Readings
9 RECURRENCE RELATIONS AND GENERATING FUNCTIONS
9.1 Recurrence Relations
9.2 The Method of Iteration
9.3 Linear Difference Equations with Constant Coefficients
9.4 Analyzing the Efficiency of Algorithms with Recurrence Relations
9.5 Counting with Generating Functions
9.6 The Algebra of Generating Functions
Historical Notes
Supplementary Exercises
Computer Projects
Suggested Readings
10 COMBINATORIAL CIRCUITS AND FINITE STATE MACHINES
10.1 Logical Gates
10.2 Creating Combinatorial Circuits
10.3 Karnaugh Maps
10.4 Finite State Machines
Historical Notes
Supplementary Exercises
Computer Projects
Suggested Readings
A AN INTRODUCTION TO LOGICAND PROOF
A.1 Statements and Connectives
A.2 Logical Equivalence
A.3 Methods of Proof
Historical Notes
Supplementary Exercises
Suggested Readings
B MATRICES
Historical Notes
C THE ALGORITHMS IN THIS BOOK
BIBLIOGRAPHY
ANSWERSTO ODD-NUMBERED EXERCISES
PHOTO CREDITS
INDEX