SPECIAL OFFERS
Keep up with new releases and promotions. Sign up to hear from us.
Register your product to gain access to bonus material or receive a coupon.
This book presents the foundations of theoretical computer science in a format accessible to undergraduate computer science students. Designed to serve as a text for a one-semester introductory course in the theory of computation, the book covers the traditional topics of formal languages, automata, computability, and computational complexity. In his book, Glenn Brookshear encourages students to appreciate the theoretical ideas as the foundation on which real problems are solved, rather than viewing them as unuseable abstractions. Theory of Computation covers regular, context-free, and general phrase-structure languages along with their associated automata, computability in the context of Turing machines, partial recursive functions and simple programming languages, and complexity theory with an introduction to some of the open classification problems relating to the classes P and NP.
Preliminaries.
Review of Set Theory.
Grammatical Basis of Language Translation.
Historical Background.
Preview of the Remaining Text.
Chapter Review Problems.
Lexical Analysis.
Deterministic Finite Automata.
The Limits of Deterministic Finite Automata.
Nondeterministic Finite Automata.
Regular Grammars.
Regular Expressions.
Closing Comments.
Chapter Review Problems.
Pushdown Automata.
Context-Free Grammars.
The Limits of Pushdown Automata.
LL(k) Parsers.
LR(k) Parsers.
Turing Machines.
Modular Construction of Turing Machines.
Turing Machines as Language Accepters.
Turing-Acceptable Languages.
Beyond Phrase-Structure Languages.
Closing Comments.
Chapter Review Problems.
Foundations of Recursive Function Theory.
The Scope of Primitive Recursive Functions.
Partial Recursive Functions.
The Power of Programming Languages.
Closing Comments.
Chapter Review Problems.
Computations.
The Complexity of Algorithms.
The Complexity of Problems.
Time Complexity of Language Recognition Problems.
Time Complexity of Nondeterministic Machines.
Closing Comments.
Chapter Review Problems.
A. More About Constructing LR(1) Parse Tables.
B. More About Ackerman's Function.
C. Some Important Unsolvable Problems.
D. On the Complexity of the String Comparison Problem.
E. A Sampling of NP Problems.