Preface
A Word to Students
1 Fundamentals
1.1 Sets and Subsets
1.2 Operations on Sets
1.3 Sequences 13
1.4 Division in the Integers
1.5 Matrices 32
1.6 Mathematical Structures
2 Logic 50
2.1 Propositions and Logical Operations
2.2 Conditional Statements
2.3 Methods of Proof
2.4 Mathematical Induction
3 Counting
3.1 Permutations
3.2 Combinations
3.3 Pigeonhole Principle
3.4 Elements of Probability
3.5 Recurrence Relations
4 Relations and Digraphs
4.1 Product Sets and Partitions
4.2 Relations and Digraphs
4.3 Paths in Relations and Digraphs
4.4 Properties of Relations
4.5 Equivalence Relations
4.6 Computer Representation of Relations and Digraphs
4.7 Operations on Relations
4.8 Transitive Closure and Warshalls Algorithm
5 Functions
5.1 Functions
5.2 Functions for Computer Science
5.3 Growth of Functions
5.4 Permutation Functions
6 Order Relations and Structures
6.1 Partially Ordered Sets
6.2 Extremal Elements of Partially Ordered Sets
6.3 Lattices
6.4 Finite Boolean Algebras
6.5 Functions on Boolean Algebras
6.6 Circuit Design
7 Trees
7.1 Trees
7.2 Labeled Trees
7.3 Tree Searching
7.4 Undirected Trees
7.5 Minimal Spanning Trees
8 Topics in Graph Theory
8.1 Graphs
8.2 Euler Paths and Circuits
8.3 Hamiltonian Paths and Circuits
8.4 Transport Networks
8.5 Matching Problems
8.6 Coloring Graphs
9 Semigroups and Groups
9.1 Binary Operations Revisited
9.2 Semigroups
9.3 Products and Quotients of Semigroups
9.4 Groups
9.5 Products and Quotients of Groups
9.6 Other Mathematical Structures
10 Languages and Finite-State Machines
10.1 Languages
10.2 Representations of Special Grammars and Languages
10.3 Finite-State Machines
10.4 Monoids, Machines, and Languages
10.5 Machines and Regular Languages
10.6 Simplification of Machines
11 Groups and Coding
Appendix A:Aigorithms and Psenudocode
Appendix B:Additionol Experiments in Discrete Mathematics
Answers to Odd-Numberde Exercises
Answers to Chapter Self-Tests
Glossary
Index
Photo Credits