

A glimpse inside

At the heart of the book is a rigorous explanation of NP-completeness—a class of problems for which no efficient (polynomial-time) solution is known, but for which proposed solutions can be quickly checked. The authors clarify the distinction between P (problems solvable quickly) and NP (problems verifiable quickly), and introduce the concept of NP-complete problems as the hardest problems in NP. If any NP-complete problem can be solved efficiently, then all problems in NP can be.
A central methodological tool in the book is the idea of reductions—transforming one problem into another in a way that preserves computational difficulty. Garey and Johnson systematically show how reductions are used to prove that new problems are NP-complete, building a web of relationships that map the landscape of computational hardness.
- 1Defining NP-Completeness
- 2Reductions: The Language of Hardness
- 3The Catalog of NP-Complete Problems
- 4Implications for Algorithm Design
- 5Historical and Philosophical Context
Popular quotes from Computers and Intractability: A Guide to the Theory of NP-Completeness
“Virtually all the known NP-complete problems are 'essentially' equivalent, in the sense that a polynomial solution to any one of them would yield polynomial solutions to all the others.”