Discrete Mathematics
For one- or two-term introductory courses in discrete mathematics.


An accessible introduction to the topics of discrete math, this best-selling text also works to expand students’ mathematical maturity.

With nearly 4,500 exercises, Discrete Mathematics provides ample opportunities for students to practice, apply, and demonstrate conceptual understanding. Exercise sets features a large number of applications, especially applications to computer science. The almost 650 worked examples provide ready reference for students as they work. A strong emphasis on the interplay among the various topics serves to reinforce understanding. The text models various problem-solving techniques in detail, then provides opportunity to practice these techniques. The text also builds mathematical maturity by emphasizing how to read and write proofs. Many proofs are illustrated with annotated figures and/or motivated by special Discussion sections. The side margins of the text now include “tiny URLs” that direct students to relevant applications, extensions, and computer programs on the textbook website.


1122970323
Discrete Mathematics
For one- or two-term introductory courses in discrete mathematics.


An accessible introduction to the topics of discrete math, this best-selling text also works to expand students’ mathematical maturity.

With nearly 4,500 exercises, Discrete Mathematics provides ample opportunities for students to practice, apply, and demonstrate conceptual understanding. Exercise sets features a large number of applications, especially applications to computer science. The almost 650 worked examples provide ready reference for students as they work. A strong emphasis on the interplay among the various topics serves to reinforce understanding. The text models various problem-solving techniques in detail, then provides opportunity to practice these techniques. The text also builds mathematical maturity by emphasizing how to read and write proofs. Many proofs are illustrated with annotated figures and/or motivated by special Discussion sections. The side margins of the text now include “tiny URLs” that direct students to relevant applications, extensions, and computer programs on the textbook website.


328.04 In Stock
Discrete Mathematics

Discrete Mathematics

by Richard Johnsonbaugh
Discrete Mathematics

Discrete Mathematics

by Richard Johnsonbaugh

Hardcover(New Edition)

$328.04 
  • SHIP THIS ITEM
    In stock. Ships in 1-2 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

For one- or two-term introductory courses in discrete mathematics.


An accessible introduction to the topics of discrete math, this best-selling text also works to expand students’ mathematical maturity.

With nearly 4,500 exercises, Discrete Mathematics provides ample opportunities for students to practice, apply, and demonstrate conceptual understanding. Exercise sets features a large number of applications, especially applications to computer science. The almost 650 worked examples provide ready reference for students as they work. A strong emphasis on the interplay among the various topics serves to reinforce understanding. The text models various problem-solving techniques in detail, then provides opportunity to practice these techniques. The text also builds mathematical maturity by emphasizing how to read and write proofs. Many proofs are illustrated with annotated figures and/or motivated by special Discussion sections. The side margins of the text now include “tiny URLs” that direct students to relevant applications, extensions, and computer programs on the textbook website.



Product Details

ISBN-13: 9780321964687
Publisher: Pearson Education
Publication date: 03/06/2017
Edition description: New Edition
Pages: 768
Product dimensions: 8.35(w) x 10.30(h) x 1.50(d)

About the Author

About our author

Richard Johnsonbaugh is Professor Emeritus of Computer Science, Telecommunications and Information Systems, DePaul University, Chicago. Prior to his 20-year service at DePaul University, he was a member and sometime chair of the mathematics departments at Morehouse College and Chicago State University. He has a B.A. degree in mathematics from Yale University, M.A. and Ph.D. degrees in mathematics from the University of Oregon, and an M.S. degree in computer science from the University of Illinois, Chicago. His most recent research interests are in pattern recognition, programming languages, algorithms, and discrete mathematics. He is the author or co-author of numerous books and articles in these areas. Several of his books have been translated into various languages. He is a member of the Mathematical Association of America.

Read an Excerpt

PREFACE:

PREFACE

This book is intended for a one- or two-term introductory course in discrete mathematics, based on my experience in teaching this course over a 20-year period. Formal mathematics prerequisites are minimal; calculus is not required. There are no computer science prerequisites. The book includes examples, exercises, figures, tables, sections on problem-solving, section reviews, notes, chapter reviews, self-tests, and computer exercises to help the reader master introductory discrete mathematics. In addition, an Instructor's Guide and World Wide Web site are available.

The main changes in this edition (discussed in more detail later) are an expanded discussion of logic and proofs, the addition of two sections on discrete probability, a new appendix that reviews basic algebra, many new examples and exercises, section reviews, and computer exercises.

OVERVIEW

In the early 1980s there were almost no books appropriate for an introductory course in discrete mathematics. At the same time, there was a need for a course that extended students' mathematical maturity and ability to deal with abstraction and also included useful topics such as combinatorics, algorithms, and graphs. The original edition of this book (1984) addressed this need. Subsequently, discrete mathematics courses were endorsed by many groups for several different audiences, including mathematics and computer science majors. A panel of the Mathematical Association of America (MAA) endorsed a year-long course in discrete mathematics. The Educational Activities Board of the Institute of Electrical and Electronics Engineers (IEEE) recommended a freshmandiscrete mathematics course. The Association for Computing Machinery (ACM) and IEEE accreditation guidelines mandated a discrete mathematics course. This edition, like its predecessors, includes topics such as algorithms, combinatorics, sets, functions, and mathematical induction endorsed by these groups. It also addresses understanding and doing proofs and, generally, expanding mathematical maturity.

ABOUT THIS BOOK

This book includes

  • Logic (including quantifiers), proofs, proofs by resolution, and mathematical induction (Chapter 1).
  • Sets, sequences, strings, sum and product notations, number systems, relations, and functions, including motivating examples such as an application of partial orders to task scheduling (Section 2.4), relational databases (Section 2.7), and an introduction to hash functions and pseudorandom number generators (Section 2.8).
  • A thorough discussion of algorithms, recursive algorithms, and the analysis of algorithms (Chapter 3). In addition, an algorithmic approach is taken throughout this book. The algorithms are written in a flexible form of pseudocode. (The book does not assume any computer science prerequisites; the description of the pseudocode used is self-contained.) Among the algorithms presented are the Euclidean algorithm for finding the greatest common divisor (Section 3.3), tiling (Section 3.4), the RSA public-key encryption algorithm (Section 3.7), generating combinations and permutations (Section 4.3), merge sort (Section 5.3), Dijkstra's shortest-path algorithm (Section 6.4), backtracking algorithms (Section 7.3), breadth-first and depth-first search (Section 7.3), tree traversals (Section 7.6), evaluating a game tree (Section 7.9), finding a maximal flow in a network (Section 8.2), finding a closest pair of points (Section 11.1), and computing the convex hull (Section 11.3).
  • A full discussion of the "big oh," omega, and theta notations for the growth of functions (Section 3.5)., Having all of these notations available makes it possible to make precise statements about the growth of functions and the complexity of algorithms.
  • Combinations, permutations, discrete probability, and the Pigeonhole Principle (Chapter 4).
  • Recurrence relations and their use in the analysis of algorithms (Chapter 5).<./LI>
  • Graphs, including coverage of graph models of parallel computers, the knight's tour, Hamiltonian cycles, graph isomorphisms, and planar graphs (Chapter 6). Theorem 6.4.3 gives a simple, short, elegant goof of the correctness of Dijkstra's algorithm.
  • Trees, including binary trees, tree traversals, minimal spanning trees, decision trees, the minimum time for sorting, and tree isomorphisms (Chapter 7).
  • Networks, the maximal flow algorithm, and matching (Chapter 8).
  • A treatment of Boolean algebras that emphasizes the relation of Boolean algebras to combinatorial circuits (Chapter 9).
  • An approach to automata emphasizing modeling and applications (Chapter 10). The SR flip-flop circuit is discussed in Example 10.1.11. Fractals, including the von Koch snowflake, are described by special kinds of grammars (Example 10.3.19).
  • An introduction to computational geometry (Chapter 11).
  • An appendix on matrices, and another that reviews basic algebra.
  • A strong emphasis on the interplay among the various topics. As examples, mathematical induction is closely tied to recursive algorithms (Section 3.4); the Fibonacci sequence is used in the analysis of the Euclidean algorithm (Section 3.6); many exercises throughout the book require mathematical induction; we show how to characterize the components of a graph by defining an equivalence relation on the set of vertices (see the discussion following Example 6.2.13); and we count the number of n-vertex binary trees (Theorem 7.8.12).
  • A strong emphasis on reading and doing proofs. Most proofs of theorems are illustrated with annotated figures. Ends of proofs are marked with a square symbol. Separate sections (Problem-Solving Corners) show students how to attack and solve problems and how to do proofs.
  • Numerous worked examples throughout the book. (There are over 500 worked examples.)
  • A large number of applications, especially applications to computer science.
  • Over 3500 exercises, with answers to about one-third of them in the back of the book. (Exercises with numbers in color have an answer in the back of the book.)
  • Figures and tables to illustrate concepts, to show how algorithms work, to elucidate proofs, and to motivate the material. Several figures illustrate proofs of theorems. The captions of these figures provide additional explanation and insight into the proofs. Section reviews. Notes sections with suggestions for further reading.
  • Chapter reviews. Chapter self-tests. Computer exercises. A reference section containing 150 references.
  • Front and back endpapers that summarize the mathematical and algorithm notation used in the book.

CHANGES FROM THE FOURTH EDITION

  • The first chapter on logic and proofs is considerably enhanced. Several new motivating examples have been added. A logic game, which offers an alternative way to determine whether a quantified propositional function is true or false, is discussed in Example 1.3.17. Section 1.4 now includes rules of inference for both propositions and quantified statements. The number of exercises in this chapter has been increased from 232 to 391.
  • Arrow diagrams have been added to give a pictorial view of the definition of a function, one-to-one functions, onto functions, inverse functions, and the composition of functions (see Section 2.8).
  • Graphs of functions have been added to give yet another view of functions (see Section 2.8).
  • Two optional sections (Sections 4.4 and 4.5) have been added on discrete probability. We discuss the fundamental terminology (e.g., experiment, event), the use of counting techniques to compute probabilities, basic formulas, mutually exclusive events, conditional probability, independent events, and Bayes' Theorem and its use in pattern recognition.
  • The setting for the Problem-Solving Corner in Chapter 5 has been changed to a more inviting and contemporary setting: sorting in a spreadsheet.
  • The fourth edition's Section 8.5 on Petri nets has been moved to the Web site that accompanies this book.
  • Appendix B, which reviews basic algebra, has been added. The topics treated are rules for combining and simplifying expressions, fractions, exponents, factoring, quadratic equations, inequalities, and logarithms.
  • A number of computer examples now show actual computer screens to help connect the theory to practical applications.
  • Several new examples have been added dealing with
    • Searching the World Wide Web, with a real example using the AltaVista search engine and Boolean expressions (Example 1.1.14)
    • A logic game (Example 1.3.17)
    • Using the matrix of a relation to determine whether the relation is transitive (Example 2.6.7)
    • Pseudorandom number generators (Example 2.8.14)
    • The Melissa virus (as an example of combinatorial explosion) (Example 4.1.2)
    • The birthday problem (Example 4.5.7)
    • Telemarketing (Example 4.5.21)
    • Detecting the HIV virus (Example 4.5.22)
    • Computer file systems (Example 7.1.6).
  • The new section reviews, which precede the exercises in every section, consist of exercises with answers in the back of the book. These exercises review the key concepts, definitions, theorems, techniques, and so on, of the section. Although intended for reviews of the sections, section reviews can also be used for placement and pretesting.
  • Computer exercises have been added to the end of every chapter. Although there is no programming prerequisite for this book and no programming is introduced in the book, these exercises are provided for those readers who want to explore discrete mathematics concepts with a computer.
  • The definition of "bipartite graph" (Definition 6.1.11) has been corrected. (To see what the problem is, use an old definition to check whether a onevertex graph is bipartite.) This book is now probably the only one in which this definition is correct!
  • A "Web Help" icon, which occurs throughout the book, indicates that more explanation, examples, and so on about a particular topic are available at the Web site that accompanies this book.
  • A "Web Link" icon, which also occurs throughout the book, signals that a link posted at the Web site that accompanies this book points to another Web site that contains additional information about a particular topic.
  • A number of recent books and articles have been added to the list of references. Several book references have been updated to current editions.
  • The number of worked examples has been increased to over 500. (There were approximately 430 in the fourth edition.)
  • The number of exercises has been increased to over 3500. (There were approximately 2400 in the fourth edition.)
  • The World Wide Web site has been greatly enhanced to provide additional support for the book.

CHAPTER STRUCTURE

Each chapter is organized as follows:

— Overview
— Section
— Section Review
— Section Exercises
— Section
— Section Review
— Section Exercises

— Notes
— Chapter Review
— Chapter Self-Test
— Computer Exercises

Section reviews consist of exercises, with answers in the back of the book, that review the key concepts of the section. Notes contain suggestions for further reading. Chapter reviews provide reference lists of the key concepts of the chapters. Chapter self-tests contain four exercises per section, with answers in the back of the book. Computer exercises request implementation of some of the algorithms, projects, and other programming related activities. In addition, most chapters have Problem-Solving Corners.

Exercises

The book contains over 3500 exercises, 135 of which are computer exercises. Exercises felt to be more challenging than average are indicated with a star. Exercise numbers in color (approximately one-third of the exercises) indicate that the exercise has a hint or solution in the back of the book. The solutions to the remaining exercises may be found in the Instructor's Guide. A handful of exercises are clearly identified as requiring calculus. No calculus concepts are used in the main body of the book and, except for these marked exercises, no calculus is needed to solve the exercises.

EXAMPLES

The book contains over 500 worked examples. These examples show students how to tackle problems in discrete mathematics, demonstrate applications of the theory, clarify proofs, and help motivate the material. Ends of examples are marked with a square symbol.

PROBLEM-SOLVING CORNERS

The Problem-Solving Corner sections help students attack and solve problems and show them how to do proofs. Written in an informal style, each is a self-contained section following the discussion of the subject of the problem. Rather than simply presenting a proof or a solution to a problem, in these sections the intent is to show alternative ways of attacking a problem, to discuss what to look for in trying to obtain a solution to a problem, and to present problem-solving and proof techniques.

Each Problem-Solving Corner begins with a statement of a problem. After stating the problem, ways to attack the problem are discussed. This discussion is followed by techniques for finding a solution. After a solution is found, a formal solution is given to show how to correctly write up a formal solution. Finally, the problem-solving techniques used in the section are summarized. In addition, some of these sections include a Comments subsection, which discusses connections with other topics in mathematics and computer science, provides motivation for the problem, and lists references for further reading about the problem. Exercises conclude some Problem-Solving Corners.

INSTRUCTOR SUPPLEMENT

An Instructor's Guide is available at no cost from the publisher to instructors who adopt or sample this book. The Instructor's Guide contains solutions to the exercises not included in the book, tips for teaching the course, and transparency masters.

WORLD WIDE WEB SITE

A World Wide Web site

www.prenhall.com/johnsonbaugh

contains

  • On-line true/false tests
  • Expanded explanations of difficult material. The icon shown indicates that additional explanation is available.
  • Links to other sites for additional information about discrete mathematics topics. The "web link" and "web help" icons signal such a link.
  • PowerPoint slides
  • Supplementary material
  • Computer programs
  • Transparencies
  • An errata list, also available at www.prenhall.com/johnsonbaugh

Both instructors and students will find the PowerPoint slides useful. The supplementary material includes the section on Petri nets from the fourth edition.

ACKNOWLEDGMENTS

I received helpful comments from many persons, including Gregory Bachelis, Gregory Brewster, Robert Busby, David G. Cantor, Tim Carroll, Joseph P Chan, Hon-Wing Cheng, IPing Chu, Robert Crawford, Henry D'Angelo, Jerry Delazzer, Br. Michael Driscoll, Carl E. Eckberg, Susanna Epp, Gerald Gordon, Jerrold Grossman, Mark Herbster, Martin Kalin, Nicholas Krier, Warren Krueger, Glenn Lancaster, Donald E. G. Malm, Kevin Phelps, James H. Stoddard, Michael Sullivan, Edward J. Williams, and Hanyi Zhang.

Special thanks for this edition go to my colleague Andre Berthiaume for suggesting the logic game, for developing the PowerPoint slides, and, with Sigrid (Anne) Settle, for the pine cone used in Figure 3.4.1. I appreciate Example 4.5.22, suggested by my colleague Steve Jost, and Exercise 24, Section 9.3, suggested by Reino Hakala, Governors State University. Credit goes to my students Jenni Piane and Nick Meshes for C++ code to implement the tromino tiling algorithm (Algorithm 3.4.4). I am grateful to Herbert Enderton, UCLA, for pointing out the problem with the fourth edition's definition of "bipartite graph." My colleague Gary Andrus, made several suggestions that improved Chapters 9 and 10. Thanks also to all of the users of my book for their helpful letters and e-mail. Finally, for reviewing the manuscript for this edition, thanks go to Kendall Atkinson, University of Iowa; Mansur Samadzadeh, Oklahoma State University; and Chaim Goodman Strauss, University of Arkansas.

I am indebted to Helmut Epp, Dean of the School of Computer Science, Telecommunications and Information Systems at DePaul University, for providing time and encouragement for the development of this edition and its predecessors.

I have received consistent support from the staff at Prentice Hall. Special thanks for their help go to George Lobell, executive editor; Gale Epps, editorial assistant; and Judith L. Winthrop, production editor.

R.J.

Table of Contents

1. Sets and Logic
  • 1.1 Sets
  • 1.2 Propositions
  • 1.3 Conditional Propositions and Logical Equivalence
  • 1.4 Arguments and Rules of Inference
  • 1.5 Quantifiers
  • 1.6 Nested Quantifiers
  • Problem-Solving Corner: Quantifiers
2. Proofs
  • 2.1 Mathematical Systems, Direct Proofs, and Counterexamples
  • 2.2 More Methods of Proof
  • Problem-Solving Corner: Proving Some Properties of Real Numbers
  • 2.3 Resolution Proofs
  • 2.4 Mathematical Induction
  • Problem-Solving Corner: Mathematical Induction
  • 2.5 Strong Form of Induction and the Well-Ordering Property
3. Functions, Sequences, and Relations
  • 3.1 Functions
  • Problem-Solving Corner: Functions
  • 3.2 Sequences and Strings
  • 3.3 Relations
  • 3.4 Equivalence Relations
  • Problem-Solving Corner: Equivalence Relations
  • 3.5 Matrices of Relations
  • 3.6 Relational Databases
4. Algorithms
  • 4.1 Introduction
  • 4.2 Examples of Algorithms
  • 4.3 Analysis of Algorithms
  • Problem-Solving Corner: Design and Analysis of an Algorithm
  • 4.4 Recursive Algorithms
5. Introduction to Number Theory
  • 5.1 Divisors
  • 5.2 Representations of Integers and Integer Algorithms
  • 5.3 The Euclidean Algorithm
  • Problem-Solving Corner: Making Postage
  • 5.4 The RSA Public-Key Cryptosystem
6. Counting Methods and the Pigeonhole Principle
  • 6.1 Basic Principles
  • Problem-Solving Corner: Counting
  • 6.2 Permutations and Combinations
  • Problem-Solving Corner: Combinations
  • 6.3 Generalized Permutations and Combinations
  • 6.4 Algorithms for Generating Permutations and Combinations
  • 6.5 Introduction to Discrete Probability
  • 6.6 Discrete Probability Theory
  • 6.7 Binomial Coefficients and Combinatorial Identities
  • 6.8 The Pigeonhole Principle
7. Recurrence Relations
  • 7.1 Introduction
  • 7.2 Solving Recurrence Relations
  • Problem-Solving Corner: Recurrence Relations
  • 7.3 Applications to the Analysis of Algorithms
8. Graph Theory
  • 8.1 Introduction
  • 8.2 Paths and Cycles
  • Problem-Solving Corner: Graphs
  • 8.3 Hamiltonian Cycles and the Traveling Salesperson Problem
  • 8.4 A Shortest-Path Algorithm
  • 8.5 Representations of Graphs
  • 8.6 Isomorphisms of Graphs
  • 8.7 Planar Graphs
  • 8.8 Instant Insanity
9. Trees
  • 9.1 Introduction
  • 9.2 Terminology and Characterizations of Trees
  • Problem-Solving Corner: Trees
  • 9.3 Spanning Trees
  • 9.4 Minimal Spanning Trees
  • 9.5 Binary Trees
  • 9.6 Tree Traversals
  • 9.7 Decision Trees and the Minimum Time for Sorting
  • 9.8 Isomorphisms of Trees
  • 9.9 Game Trees
10. Network Models
  • 10.1 Introduction
  • 10.2 A Maximal Flow Algorithm
  • 10.3 The Max Flow, Min Cut Theorem
  • 10.4 Matching
  • Problem-Solving Corner: Matching
11. Boolean Algebras and Combinatorial Circuits
  • 11.1 Combinatorial Circuits
  • 11.2 Properties of Combinatorial Circuits
  • 11.3 Boolean Algebras
  • Problem-Solving Corner: Boolean Algebras
  • 11.4 Boolean Functions and Synthesis of Circuits
  • 11.5 Applications
12. Automata, Grammars, and Languages
  • 12.1 Sequential Circuits and Finite-State Machines
  • 12.2 Finite-State Automata
  • 12.3 Languages and Grammars
  • 12.4 Nondeterministic Finite-State Automata
  • 12.5 Relationships Between Languages and Automata
13. Computational Geometry
  • 13.1 The Closest-Pair Problem
  • 13.2 An Algorithm to Compute the Convex Hull
Appendices
  • A. Matrices
  • B. Algebra Review
  • C. Pseudocode
References Hints and Solutions to Selected Exercises Index

Preface

PREFACE:

PREFACE

This book is intended for a one- or two-term introductory course in discrete mathematics, based on my experience in teaching this course over a 20-year period. Formal mathematics prerequisites are minimal; calculus is not required. There are no computer science prerequisites. The book includes examples, exercises, figures, tables, sections on problem-solving, section reviews, notes, chapter reviews, self-tests, and computer exercises to help the reader master introductory discrete mathematics. In addition, an Instructor's Guide and World Wide Web site are available.

The main changes in this edition (discussed in more detail later) are an expanded discussion of logic and proofs, the addition of two sections on discrete probability, a new appendix that reviews basic algebra, many new examples and exercises, section reviews, and computer exercises.

OVERVIEW

In the early 1980s there were almost no books appropriate for an introductory course in discrete mathematics. At the same time, there was a need for a course that extended students' mathematical maturity and ability to deal with abstraction and also included useful topics such as combinatorics, algorithms, and graphs. The original edition of this book (1984) addressed this need. Subsequently, discrete mathematics courses were endorsed by many groups for several different audiences, including mathematics and computer science majors. A panel of the Mathematical Association of America (MAA) endorsed a year-long course in discrete mathematics. The Educational Activities Board of the Institute of Electrical and Electronics Engineers (IEEE) recommended afreshmandiscrete mathematics course. The Association for Computing Machinery (ACM) and IEEE accreditation guidelines mandated a discrete mathematics course. This edition, like its predecessors, includes topics such as algorithms, combinatorics, sets, functions, and mathematical induction endorsed by these groups. It also addresses understanding and doing proofs and, generally, expanding mathematical maturity.

ABOUT THIS BOOK

This book includes

  • Logic (including quantifiers), proofs, proofs by resolution, and mathematical induction (Chapter 1).
  • Sets, sequences, strings, sum and product notations, number systems, relations, and functions, including motivating examples such as an application of partial orders to task scheduling (Section 2.4), relational databases (Section 2.7), and an introduction to hash functions and pseudorandom number generators (Section 2.8).
  • A thorough discussion of algorithms, recursive algorithms, and the analysis of algorithms (Chapter 3). In addition, an algorithmic approach is taken throughout this book. The algorithms are written in a flexible form of pseudocode. (The book does not assume any computer science prerequisites; the description of the pseudocode used is self-contained.) Among the algorithms presented are the Euclidean algorithm for finding the greatest common divisor (Section 3.3), tiling (Section 3.4), the RSA public-key encryption algorithm (Section 3.7), generating combinations and permutations (Section 4.3), merge sort (Section 5.3), Dijkstra's shortest-path algorithm (Section 6.4), backtracking algorithms (Section 7.3), breadth-first and depth-first search (Section 7.3), tree traversals (Section 7.6), evaluating a game tree (Section 7.9), finding a maximal flow in a network (Section 8.2), finding a closest pair of points (Section 11.1), and computing the convex hull (Section 11.3).
  • A full discussion of the "big oh," omega, and theta notations for the growth of functions (Section 3.5)., Having all of these notations available makes it possible to make precise statements about the growth of functions and the complexity of algorithms.
  • Combinations, permutations, discrete probability, and the Pigeonhole Principle (Chapter 4).
  • Recurrence relations and their use in the analysis of algorithms (Chapter 5).<./LI>
  • Graphs, including coverage of graph models of parallel computers, the knight's tour, Hamiltonian cycles, graph isomorphisms, and planar graphs (Chapter 6). Theorem 6.4.3 gives a simple, short, elegant goof of the correctness of Dijkstra's algorithm.
  • Trees, including binary trees, tree traversals, minimal spanning trees, decision trees, the minimum time for sorting, and tree isomorphisms (Chapter 7).
  • Networks, the maximal flow algorithm, and matching (Chapter 8).
  • A treatment of Boolean algebras that emphasizes the relation of Boolean algebras to combinatorial circuits (Chapter 9).
  • An approach to automata emphasizing modeling and applications (Chapter 10). The SR flip-flop circuit is discussed in Example 10.1.11. Fractals, including the von Koch snowflake, are described by special kinds of grammars (Example 10.3.19).
  • An introduction to computational geometry (Chapter 11).
  • An appendix on matrices, and another that reviews basic algebra.
  • A strong emphasis on the interplay among the various topics. As examples, mathematical induction is closely tied to recursive algorithms (Section 3.4); the Fibonacci sequence is used in the analysis of the Euclidean algorithm (Section 3.6); many exercises throughout the book require mathematical induction; we show how to characterize the components of a graph by defining an equivalence relation on the set of vertices (see the discussion following Example 6.2.13); and we count the number of n-vertex binary trees (Theorem 7.8.12).
  • A strong emphasis on reading and doing proofs. Most proofs of theorems are illustrated with annotated figures. Ends of proofs are marked with a square symbol. Separate sections (Problem-Solving Corners) show students how to attack and solve problems and how to do proofs.
  • Numerous worked examples throughout the book. (There are over 500 worked examples.)
  • A large number of applications, especially applications to computer science.
  • Over 3500 exercises, with answers to about one-third of them in the back of the book. (Exercises with numbers in color have an answer in the back of the book.)
  • Figures and tables to illustrate concepts, to show how algorithms work, to elucidate proofs, and to motivate the material. Several figures illustrate proofs of theorems. The captions of these figures provide additional explanation and insight into the proofs. Section reviews. Notes sections with suggestions for further reading.
  • Chapter reviews. Chapter self-tests. Computer exercises. A reference section containing 150 references.
  • Front and back endpapers that summarize the mathematical and algorithm notation used in the book.

CHANGES FROM THE FOURTH EDITION

  • The first chapter on logic and proofs is considerably enhanced. Several new motivating examples have been added. A logic game, which offers an alternative way to determine whether a quantified propositional function is true or false, is discussed in Example 1.3.17. Section 1.4 now includes rules of inference for both propositions and quantified statements. The number of exercises in this chapter has been increased from 232 to 391.
  • Arrow diagrams have been added to give a pictorial view of the definition of a function, one-to-one functions, onto functions, inverse functions, and the composition of functions (see Section 2.8).
  • Graphs of functions have been added to give yet another view of functions (see Section 2.8).
  • Two optional sections (Sections 4.4 and 4.5) have been added on discrete probability. We discuss the fundamental terminology (e.g., experiment, event), the use of counting techniques to compute probabilities, basic formulas, mutually exclusive events, conditional probability, independent events, and Bayes' Theorem and its use in pattern recognition.
  • The setting for the Problem-Solving Corner in Chapter 5 has been changed to a more inviting and contemporary setting: sorting in a spreadsheet.
  • The fourth edition's Section 8.5 on Petri nets has been moved to the Web site that accompanies this book.
  • Appendix B, which reviews basic algebra, has been added. The topics treated are rules for combining and simplifying expressions, fractions, exponents, factoring, quadratic equations, inequalities, and logarithms.
  • A number of computer examples now show actual computer screens to help connect the theory to practical applications.
  • Several new examples have been added dealing with
    • Searching the World Wide Web, with a real example using the AltaVista search engine and Boolean expressions (Example 1.1.14)
    • A logic game (Example 1.3.17)
    • Using the matrix of a relation to determine whether the relation is transitive (Example 2.6.7)
    • Pseudorandom number generators (Example 2.8.14)
    • The Melissa virus (as an example of combinatorial explosion) (Example 4.1.2)
    • The birthday problem (Example 4.5.7)
    • Telemarketing (Example 4.5.21)
    • Detecting the HIV virus (Example 4.5.22)
    • Computer file systems (Example 7.1.6).
  • The new section reviews, which precede the exercises in every section, consist of exercises with answers in the back of the book. These exercises review the key concepts, definitions, theorems, techniques, and so on, of the section. Although intended for reviews of the sections, section reviews can also be used for placement and pretesting.
  • Computer exercises have been added to the end of every chapter. Although there is no programming prerequisite for this book and no programming is introduced in the book, these exercises are provided for those readers who want to explore discrete mathematics concepts with a computer.
  • The definition of "bipartite graph" (Definition 6.1.11) has been corrected. (To see what the problem is, use an old definition to check whether a onevertex graph is bipartite.) This book is now probably the only one in which this definition is correct!
  • A "Web Help" icon, which occurs throughout the book, indicates that more explanation, examples, and so on about a particular topic are available at the Web site that accompanies this book.
  • A "Web Link" icon, which also occurs throughout the book, signals that a link posted at the Web site that accompanies this book points to another Web site that contains additional information about a particular topic.
  • A number of recent books and articles have been added to the list of references. Several book references have been updated to current editions.
  • The number of worked examples has been increased to over 500. (There were approximately 430 in the fourth edition.)
  • The number of exercises has been increased to over 3500. (There were approximately 2400 in the fourth edition.)
  • The World Wide Web site has been greatly enhanced to provide additional support for the book.

CHAPTER STRUCTURE

Each chapter is organized as follows:

— Overview
— Section
— Section Review
— Section Exercises
— Section
— Section Review
— Section Exercises

— Notes
— Chapter Review
— Chapter Self-Test
— Computer Exercises

Section reviews consist of exercises, with answers in the back of the book, that review the key concepts of the section. Notes contain suggestions for further reading. Chapter reviews provide reference lists of the key concepts of the chapters. Chapter self-tests contain four exercises per section, with answers in the back of the book. Computer exercises request implementation of some of the algorithms, projects, and other programming related activities. In addition, most chapters have Problem-Solving Corners.

Exercises

The book contains over 3500 exercises, 135 of which are computer exercises. Exercises felt to be more challenging than average are indicated with a star. Exercise numbers in color (approximately one-third of the exercises) indicate that the exercise has a hint or solution in the back of the book. The solutions to the remaining exercises may be found in the Instructor's Guide. A handful of exercises are clearly identified as requiring calculus. No calculus concepts are used in the main body of the book and, except for these marked exercises, no calculus is needed to solve the exercises.

EXAMPLES

The book contains over 500 worked examples. These examples show students how to tackle problems in discrete mathematics, demonstrate applications of the theory, clarify proofs, and help motivate the material. Ends of examples are marked with a square symbol.

PROBLEM-SOLVING CORNERS

The Problem-Solving Corner sections help students attack and solve problems and show them how to do proofs. Written in an informal style, each is a self-contained section following the discussion of the subject of the problem. Rather than simply presenting a proof or a solution to a problem, in these sections the intent is to show alternative ways of attacking a problem, to discuss what to look for in trying to obtain a solution to a problem, and to present problem-solving and proof techniques.

Each Problem-Solving Corner begins with a statement of a problem. After stating the problem, ways to attack the problem are discussed. This discussion is followed by techniques for finding a solution. After a solution is found, a formal solution is given to show how to correctly write up a formal solution. Finally, the problem-solving techniques used in the section are summarized. In addition, some of these sections include a Comments subsection, which discusses connections with other topics in mathematics and computer science, provides motivation for the problem, and lists references for further reading about the problem. Exercises conclude some Problem-Solving Corners.

INSTRUCTOR SUPPLEMENT

An Instructor's Guide is available at no cost from the publisher to instructors who adopt or sample this book. The Instructor's Guide contains solutions to the exercises not included in the book, tips for teaching the course, and transparency masters.

WORLD WIDE WEB SITE

A World Wide Web site

www.prenhall.com/johnsonbaugh

contains

  • On-line true/false tests
  • Expanded explanations of difficult material. The icon shown indicates that additional explanation is available.
  • Links to other sites for additional information about discrete mathematics topics. The "web link" and "web help" icons signal such a link.
  • PowerPoint slides
  • Supplementary material
  • Computer programs
  • Transparencies
  • An errata list, also available at www.prenhall.com/johnsonbaugh

Both instructors and students will find the PowerPoint slides useful. The supplementary material includes the section on Petri nets from the fourth edition.

ACKNOWLEDGMENTS

I received helpful comments from many persons, including Gregory Bachelis, Gregory Brewster, Robert Busby, David G. Cantor, Tim Carroll, Joseph P Chan, Hon-Wing Cheng, IPing Chu, Robert Crawford, Henry D'Angelo, Jerry Delazzer, Br. Michael Driscoll, Carl E. Eckberg, Susanna Epp, Gerald Gordon, Jerrold Grossman, Mark Herbster, Martin Kalin, Nicholas Krier, Warren Krueger, Glenn Lancaster, Donald E. G. Malm, Kevin Phelps, James H. Stoddard, Michael Sullivan, Edward J. Williams, and Hanyi Zhang.

Special thanks for this edition go to my colleague Andre Berthiaume for suggesting the logic game, for developing the PowerPoint slides, and, with Sigrid (Anne) Settle, for the pine cone used in Figure 3.4.1. I appreciate Example 4.5.22, suggested by my colleague Steve Jost, and Exercise 24, Section 9.3, suggested by Reino Hakala, Governors State University. Credit goes to my students Jenni Piane and Nick Meshes for C++ code to implement the tromino tiling algorithm (Algorithm 3.4.4). I am grateful to Herbert Enderton, UCLA, for pointing out the problem with the fourth edition's definition of "bipartite graph." My colleague Gary Andrus, made several suggestions that improved Chapters 9 and 10. Thanks also to all of the users of my book for their helpful letters and e-mail. Finally, for reviewing the manuscript for this edition, thanks go to Kendall Atkinson, University of Iowa; Mansur Samadzadeh, Oklahoma State University; and Chaim Goodman Strauss, University of Arkansas.

I am indebted to Helmut Epp, Dean of the School of Computer Science, Telecommunications and Information Systems at DePaul University, for providing time and encouragement for the development of this edition and its predecessors.

I have received consistent support from the staff at Prentice Hall. Special thanks for their help go to George Lobell, executive editor; Gale Epps, editorial assistant; and Judith L. Winthrop, production editor.

R.J.

From the B&N Reads Blog

Customer Reviews