What is the best book for a student learning about concepts such as NP-hard, NP-complete and P=?NP?
I've already got the CLR but it doesn't really cover these particular topics as thoroughly.
What is the best book for a student learning about concepts such as NP-hard, NP-complete and P=?NP?
I've already got the CLR but it doesn't really cover these particular topics as thoroughly.
Any textbook on computability and complexity would be useful. Introduction to the Theory of Computation by Sisper is a good one.
Also there are lots of good resources if you google those terms - this is a common undergrad course and many professors post class notes online.
Computers and Intractability: A Guide to the Theory of NP-Completeness by Michael Garey and David S. Johnson. is a classic (1979).
Introduction to Algorithms by Thomas Cormen is a very good book on Algorithms and also there is The Algorithm Design Manual
Introduction to Algorithms has a very good chapter on NP-completeness and tractability, and it's the one I usually recommend to my students.
Garey & Johnson's guide is basically list of the known NP-complete problems, and while certainly useful as a reference book, I wouldn't recommend it as an introduction.