Recommended Books on Computational Complexity Theory

19 points by hacker-l ↗ HN
I am interested in computational complexity theory, especially in the discussion of the P vs NP problem and complexity classes. Could you recommend some books that provide an in-depth introduction to these topics?

12 comments

[ 5.0 ms ] story [ 39.6 ms ] thread
I believe I used Introduction to the Theory of Computation by Sipser for this and it's probably the one textbook most universities are going to use.

Maybe for more in depth reference about the algorithms at play Introduction to Algorithms (Cormen) will complement nicely; I don't remember how much Sipser goes into describing the algos.

As someone else said already: Theory of Computation by Sipser is the go to intro book for this.

I'd recommend really reading the book front to back honestly. It helps to have a complete picture of everything that leads up to getting into complexity theory.

Sipser also has corresponding lectures that are available for free on YouTube here: https://www.youtube.com/watch?v=9syvZr-9xwk&list=PLidiQIHRzp....

Sipser is one of the best textbooks of all time from any field
You can also find solutions manuals in the usual places.
The Dragon Book for Compilers
But it's more about compilers and their design than typical ideas about computational complexity.
Books I have and recommend:

Introduction to the theory of computation - Michael Sipser

Computational complexity - Arora, Barak

Computational Complexity - Christos H. Papadimitriou

Computers and intractability - Michael R. Garey, David S. Johnson

Here's some more specific recommendations from the books people have mentioned:

* Part 3 of Sipser’s Introduction to the Theory of Computation

* The first half of Arora and Barak's Computational Complexity

No one had mentioned this one yet, but it provides nice exposition: Goldreich’s Computational Complexity: a Conceptual Perspective.

Here are some notes I put together on what's out there for learning complexity theory and a bit on where you can go next: https://bcmullins.github.io/complexity_theory_resources/.

John E. Hopcroft, Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation.