Introduction to the Theory of Computation
Michael Sipser
The book presents the fundamental concepts of computational theory, including automata, computability, and complexity, providing a rigorous exploration of how computation is understood in the context of mathematical models. It covers topics such as finite automata, context-free grammars, Turing machines, decidability, NP-completeness, and space complexity, with proofs and problem-solving exercises.
See full summary