Found in 12 comments on Hacker News
truncate · 2015-05-24 · Original thread
I studied this topic mainly from Algorithms text by Kleinberg/Tardos[1]. Like everything else, if you interested in proving problems NPC, read few examples from book and practice some on your own. Proving problems NPC of some common problems isn't very hard once you get hang of it.

franklinH · 2011-12-23 · Original thread
i prefer tardos/kleinberg{} for algorithms, at least for self study. The book has solutions, doesnt leave any proofs incomplete and has a little bit more focus on real world examples. its also half as long, but still covers 3/4 of the material.
snikolov · 2011-05-04 · Original thread
Both solid choices. Having used CLRS (the Intro the Algorithms book), I would say it's a fantastic reference, but I found some of the presentation rather terse. It is nothing that a motivated reader can't power through, but some people have also suggested Kleinberg and Tardos's algorithms book for better pedagogical development
randliu · 2010-01-25 · Original thread
I'd suggest Algorithm Design by Kleinberg and Tardos: , it's more readable than either CLRS or Dasgupta/Papadimitriou/Vazirani.
Groxx · 2010-01-16 · Original thread
Ah, apologies:

  Algorithm Design
  by Jon Kleinberg & Éva Tardos
  ISBN: 978-0-321-29535-8
Or an Amazon link:

roundsquare · 2009-09-01 · Original thread
If you are really interested in the math involved you can look at any algorithms book. I used this one in my undergrad:

Its a good introduction, but it will require you to be decent at math and know how to do proofs.

On the other hand, if you are interested in how programs can express things, then maybe you want to learn about some CS theory. Specifically, some lambda calculus would be good to learn, but I don't have any good suggestions.

Note: All of these will be easier to read if you are pretty good at programming, so I'd say follow at least the first piece of advise above.

pz · 2009-05-15 · Original thread
I recommend the Kleinberg/Tardos textbook:

It is a really enjoyable read and has a nice narrative that I think other algorithm books are lacking. CLR, for instance, just reads like a handbook to me. The goal Kleinberg/Tardos book, OTOH, is to teach you how to design and analyze algorithms. They will actually follow false starts on certain problems and uncover where they break.

Kleinberg is the rebel king!

ruddzw · 2008-12-15 · Original thread
I dunno about this. Of the books under "books most programmers have actually read," the only one I've read is the C programming language (K&R). But I think I'm probably more likely to read the GoF design patterns book or the rest of my college algorithms book ( ) than Programming Pearls or Effective Java.
boucher · 2007-12-20 · Original thread
Good introductory text: Cormen/Leiserson/Rivest/Stein: Introduction to Algorithms (2nd edition)

Good advanced text: Jon Kleinberg/Eva Tardos: Algorithm Design

amichail · 2007-07-13 · Original thread
For routine programming, the GoF Design Patterns book will be more helpful to you than algorithms books.

But if you really want to learn more about algorithms, check out this book:

As for programming languages, the java + eclipse combination is excellent.

Fresh book recommendations delivered straight to your inbox every Thursday.