Ask HN: Help me choose the best first book for Algorithms
I am a programmer and no formal CS knowledge. I have the following books on the topic Algorithms/DataStructures. Can you please help me pick the first one to start so that I am able to get up to the speed. It will be great if you can specify an order as well.
* The Algorithm Design Manual by Steven S Skiena Link: http://amzn.com/1848000693
* Algorithms (4th Edition) by Robert Sedgewick et al. Link: http://amzn.com/032157351X
* Algorithm Design by Jon Kleinberg et al. Link: http://amzn.com/0321295358
* Introduction to Algorithms, 3rd Edition by Thomas H. Cormen et al. Link: http://amzn.com/0262033844
* The Art of Computer Programming, Volumes 1-4A Boxed Set by Donald E. Knuth Link: http://amzn.com/0321751043
(
14 comments
| 32 points
| on HN
)
Cormen's book is a bit more thedious to read and I don't know it that well but I think is a little bit more rigorous with math. Sedgewick's book doesn't mention asymptotic limits or BigO notation, rather talks about the run time / memory requirements in more informal terms, like "run time being proportional to the square of the number of input items", etc. But, there's another book from Sedgewick (and Flajolet!) if you want to go deeper into analysis: (1).
Skienna's book is great to have a wider outline on all sorts of algorithms, including some less widely known and (I think) not covered in either of Sedgewick's or Cormen's book. It is, if I'm allowed the pun, more of a breadth first than a depth first approach to the subject.
1: http://www.amazon.com/Introduction-Analysis-Algorithms-2nd/d...
FWIW, the Sedgwick textbook is available on Safari.
All in all, I'd say Sedgewick is the best of these options.
From your comment it seems Knuth's book(s) to be the last (and for the mastery.
CLRS contains pretty much everything contained in both Kleinberg and Sedgwick, so the two are essentially interchangeable in the sense that Kleinberg+CLRS contains roughly the same breadth of information as Sedgewick+CLRS. Since Sedgewick takes more time to explain the basics thoroughly, I'd say it's probably your best starting point.
Good luck!
Although I'd personally recommend Kleinberg's book. I feel that it has a better narrative and is very well written IMO.
The youtube videos are the icing on the cake as you can get thru them faster than compared to reading a book, if you are starting off I would highly recommend these youtube tutorials.
TAOCP isn't for reading from cover to cover and, arguably, neither is CLRS (especially for "first time through" studies).
Close second is Kleinberg's and Skiena's.
TOACP and CLRS apparently are considered reference reads and not starting material.
I think I know pretty much where to start. Thank you all.
For reference - Cormen