CONTENTS
Preface ix
The Companion Web Site xix
TotheStudent xxi
1
The Foundations: Logic, Sets, and Functions
1.1Logic
1.2Propositional Equivalences
1.3Predicates and Quantifiers
1.4Sets
1.5Set Operations
1.6Functions
1.7Sequences and Summations
1.8The Growth of Functions
Key Tenns and Results
Review Questions
Supplementary Exercises
Computer Projects
Computations and Explorations
Writing Projects
2
The Fundamentals: Algorithms, the Integers, and Matrices
2.1Algorithms
2.2ComplexityofAlgorithms
2.3The Integers and Division
2.4Integers and Algorithms
2.5Applications of Number Theory
2.6Matrices
Key Terms and Results
Review Questions
Supplementary Exercises
Computer Projects
Computations and Exploratiuns
Writing Projects
3
Mathematical Reasoning
3.1MethodsofProof
3.2Mathematical Induction
3.3Recursive Definitions
3.4Recursive Algorithms
3.5Program Correctness
Key Tenns and Results
Review Questions
Supplementary Exercises
Computer Projects
Computations and Explorations
Writing Projects
4
Counting
4.1The Basics of Counting
4.2The Pigeonhole Principle
4.3Pennutations and Combinations
4.4Discrete Probability
4.5Probability Theory
4.6Generalized Pennutations and Combinations
4.7Generating Pennutations and Combinations
Key Terms and Concepts
Review Questions
Supplementary Exercises
Computer Projects
Computations and Explorations
Writing Projects
5
Advanced Counting Techniques
5.1Recurrence Relations
5.2Solving Recurrcnce Relarions
5.3Divide-and-Conquer Relations
5.4Generating Functions
5.5Inclusion-Exclusion
5.6Applications of Inclusion-Exclusion
Key Terms and Results
Review Questions
Supplementary Exercises
Computer Projects
Computations and Explorations
Writing Projects
6
Relations
6.lRelations and Their Properties
6.2n-ary Relations and Their Applications
6.3Representing Relations
6.4ClosurcsofRelations
6.5Equivalence Relations
6.6Partial Orderings
Key Terms and Results
Review Questions
Supplementary Exercises
Computer Projects
Computations and Explorations
Writing Prqjects
7
Graphs
7.1Introduction to Graphs
7.2Graph Tenninology
7.3Representing Graphs and Graph Isomorphism
7.4Connectivity
7.5Euler and Hamilton Paths
7.6Shortest Path Problems
7.7Planar Graphs
7.8Graph Coloring
Key Terms and Results :
Review Questions
Supplementary Exercises
Computer Projects
Computations and Explorations
Writing Projects
8
Trees
8.l Introduction to Trees
8.2 Applications ofTrees
8.3 Tree Traversal
8.4 Trees and Sorting
8.5 Spanning Trees
8.6 Minimum Spanning Trees
Key Terms and Results
Review Questions
Supplementary Exercises
Computer Projects
Computations and Explorations
Writing Projects
9
Boolean Algebra
9.1Boolean Functions
9.2Representing Boolean Functions
9.3Logic Gates
9.4MinimizationofCircuits
Key Terms and Results
Review Questions
Supplementary Exercises
Computer Projects
Computations and Explorations
Writing Projects
10
Modeling Computation
10.1Languages and Grammars
10.2Finite-State Machines with Output
10.3Finite-State Machines with No Output
10.4Language Recognition
10.5Turing Machines
Key Tenns and Results
Review Questions
Supplementary Exercises
Computer Projects
Computations and Explorations
Writing Projects
Appendixes A-l
A.1Exponential and Logarithmic Functions
A.2Pseudocode
Suggested Readings B-l
Index of Biographies 1-1
Index 1-3
LISTOFSYMBOLS L-l