Algorithms
in the text are presented in a variety of ways. Some are simply a few sentences
of explanation. Others are presented in a more traditional notation.
Every section has been rewritten to clarify and update the exposition.
In addition, each section now contains many subtopic headings to identify
specific areas of discussion.
Several hundred new exercises have been added to the book so that there
are now over 1700 exercises. Answers are provided for about half of the exercises.
In addition, the exercises at the end of each section are now listed
by topic and ordered by difficulty within each topic. There is also a collection
of proofs and/or challenges at the end of each set of exercises.
The last section of the book on evaluation of expressions has been
dropped in favor of an introduction to complexity classes.
Special
attention has been paid to the report by the ACM/IEEE Joint Task Force on Computing
Curricula entitled "Computing Curricula 2001." The book covers all topics
listed in the report for the area of discrete structures (DS), which includes
logic.
The book also covers topics from the following areas listed in the report:
Recursion
(PF5)
Basic Algorithms Analysis (AL1)
Basic Computational Theory (AL5)
The Complexity Classes P and NP (AL6)
Automata Theory (AL7)
Formal Methods (SE9)
Knowledge Representation and Reasoning (IS3)
Programming Paradigms (PL10)