This is one of the best books regarding algorithms. Its brevity and clarity makes for an enjoyable read, as are the implementations in Pascal/Oberon. Probably its only downside is the lacking treatment of graphs, but IMHO this is only a downside, because it would certainly be interesting to see how Niklaus Wirth would have explained this topic.<p>I have recommended it on HN at least once before, and I find it fills nicely into the "algorithm canon" of AHU and CLR. Whenever I have time to ponder or want to know something in depth, I consult one of these books in that order (i.e., AD->AHU->CLR).
His _Compiler Construction_ book (<a href="http://www-old.oberon.ethz.ch/WirthPubl/CBEAll.pdf" rel="nofollow">http://www-old.oberon.ethz.ch/WirthPubl/CBEAll.pdf</a>) is a good "keep it simple, hit the ground running" intro to recursive-descent parsing, compilers, virtual machines, etc., as well.
stackoverflow thread on best books for algorithms:<p><a href="http://stackoverflow.com/questions/302270/what-is-the-best-book-for-learning-about-algorithms" rel="nofollow">http://stackoverflow.com/questions/302270/what-is-the-best-b...</a><p>similar thread asking about data structures:<p><a href="http://stackoverflow.com/questions/366317/good-data-structures-text-book" rel="nofollow">http://stackoverflow.com/questions/366317/good-data-structur...</a>
More information on the author, the designer of Pascal, Niklaus Wirth.<p><a href="http://www.simple-talk.com/opinion/geek-of-the-week/niklaus-wirth-geek-of-the-week/" rel="nofollow">http://www.simple-talk.com/opinion/geek-of-the-week/niklaus-...</a><p><a href="http://en.wikipedia.org/wiki/Niklaus_Wirth" rel="nofollow">http://en.wikipedia.org/wiki/Niklaus_Wirth</a>
sorry, but this seems way too dated. CLRS is much better. this book doesn't even have red-black trees, which are pretty much the "gold-standard" data structure used for almost every high performance backing store. nice that it's free and there's some good knowledge in there, but CLRS is "the bible" IMO.