3 ms·
It depends on what you want to get out of them. If all you do is build a library, you'll never get anything out of it, since you actually need to study the bo
by ambition 19y ago
It depends on what you want to get out of them.
If all you do is build a library, you'll never get anything out of it, since you actually need to study the books for that. :P
If you want a reference, then by all means take aston and Hexayurt's excellent suggestions. Especially CLRS.
If you don't know much about algorithms right now, then you'll find Cormen et al. very challenging to start with.
If you're like me, you want to be able to use algorithms as a tool to solve real problems.
To practice that, I have a few suggestions, if I may be so bold.
Pick up a copy of the Algorithm Design Manual and Programming Challenges, by Steven Skiena. Programming Challenges will introduce you to the ACM-ICPC repository of programming problems, which is a great low-pressure area to build some top-notch skill in algorithms. You'll want to get into TopCoder as well.
For a slightly different taste, pick up Artificial Intelligence: A Modern Approach, by Stuart Russell and Peter Norvig, also known as AIMA or the Green Book. Its discussion of search algorithms is unrivaled.
Good luck!
- thisisnotmyname 19y agoI would like to second the recommendation of The Algorithm Design Manual by Skiena - it is really a fantastic presentation.
- ravimohan 19y agoIn my experience, the combination of the "Algorithms" by Rivest et al and Skiena's "Algorithm Design Manual" provides a very complete exposition of algorithms. Just make sure you work through as many of the exercises in "Algorithms" as you can.