Introduction to the Theory of Computation
When it comes to writing this book, Michael Sipser's idea is simple: make the subject engaging and relevant, and students will learn. His emphasis on integrating computer science theory rather than providing a collection of low-level information, as well as his intuitive explanations, distinguishes the book. Sipser, a well-known expert on the theory of computation, improves students' knowledge of computer science's conceptual tools, the aesthetic sense they need to create elegant systems, and the ability to think through problems on their own throughout the book.
Theorems and proofs underpin a mathematical exposition of computation theory in Introduction to the Theory of Computation. Proofs have a "proof idea" component that reveals the formalism's underlying principles. Prose rather than pseudocode is used to present algorithms to focus emphasis on the algorithms themselves rather than specific computational models. Topic coverage, vocabulary, and presentation order are all standards for an upper-level computer science theoretical course. Chapter 8 on space complexity, Chapter 9 on proved intractability, and Chapter 10 on advanced subjects, including approximation algorithms, alternation, interactive proof systems, cryptography, and parallel computing, will be of interest to users of the Preliminary Edition (now out of print).
Some reviews about this book: “This text provides a gentle introduction of this theory covering all three aspects: automata, complexity, and computability. This book does not include the long and tedious mathematical proofs of its assertions that might be found in the similar text.”
Author: Michael Sipser
Link to buy: https://www.amazon.com/-/es/Michael-Sipser/dp/053494728X/ref=sr_1_2?