I do a lot of programming in my spare time. I enjoy programming so that kind of makes sense. During University we had to take courses in algorithm design. At the time I wasn’t really into it but after spending a few years in the field, as it were, I’ve grown a fondness for designing fast, efficient and, in some cases, sexy algorithms.
To that end, I picked up a copy of The Algorithm Design Manual which I’d heard a few people mention as being a good book. I have to say, I agree with them.
This book works really well. The first half is a discussion of different types of algorithms and contains war stories which discuss actual instances where the author needed to call upon the previous topics. The last half the book is a reference manual of algorithms. These can come in quite handy when you’re looking for information on a specific topic.
I found it quite easy to sit down and read through the first half the book. Although, I admit, dynamic programming and backtracking still trips me up. The author has a writting style that works. As a bonus the book comes with a CD containing the information in the book. Much easier to search and carry around with you. A great addition by whoever thought it up.
All in all, if you do programming work this is a good book to read.