If you're looking for general purpose algorithm knowledge, I recommend reading the following books:

- [Introduction to Algorithms](http://www.amazon.com/Introduction-Algorithms-Second-Thomas-Cormen/dp/0262032937) by Cormen, et. al.
- This is the standard university algorithms textbook. It gives a very thorough overview of the theory of algorithms.
- [The Algorithm Design Manual](http://www.amazon.com/gp/product/1848000693) by Skiena
- A great book for when you actually have to use an algorithm. Skiena's philosophy is to think of a problem in such a way that it fits with an existing algorithm and then use that algorithm as it already exists.
- [Concrete Mathematics](http://www.amazon.com/Concrete-Mathematics-Foundation-Computer-Science/dp/0201558025) by Graham, et. al.
- This is another excellent reference for a programmer.

Here are a few notes I've digitized:

- Amazon.com interview question — A friend's interview problem from Amazon.com
- KoL Puzzle — Although it's just a game, KoL had a pretty interesting cryptography-style puzzle in it. Unfortunately, it was spoiled before I really finished it.

Kenny Root

Copyright © Kenny Root. All rights reserved.