As someone who sucks at maths and puzzle solving in general, Steve Skiena's book is proving to be quite approachable for me. Although I have to jump back and forth between the book and Khan Academy to look up some of the Maths.
Another thing that helped me was brushing up on C programming skills. As a Python programmer, algorithms like hash maps don't make any sense because you just slap keys and values on a dictionary and call it a day but in C, you get to see how buckets and hash functions are used to build hash maps.
Thanks! Currently working through The Algorithm Design Manual, and next on my list is Introduction to Algorithms but I will add your recommendations to my reading list
I joined Google 11 years into my career. So while I had taken an algorithms class recently, I just reread the algorithm book I used in college and spent a bunch of time studying all of them. I actually found it a lot of fun, as it was a good refresher for myself.
I have a smart co-worker who also likes Skiena's Algorithm Design Manual. I found that book to fluffy, though. But then I enjoy books like "Combinatorial Optimization - Polyhedra and Efficiency" by Alexander Schrijver.
(Not a beginner's book, but it has anything you ever wanted to know about P and NP.)
I've been meaning to get around to reading those notes. A friend of mine also told me about this course: http://www.cs.sunysb.edu/~skiena/392/ - taught by Steven Skiena (author of The Algorithm Design Manual).
I wish my university had more courses like this, but for now I'll have to learn from these.
I never really learned anything about pure algorithms in high school, but it seems like quite a bit of people in my program covered the basics at their school. I want to learn more about this style of programming so that I can compete on sites like TopCoder, but I never know where to start. I'm guessing these notes are good, but now I just need to find the time to study the material.
Or along with Sedgwick's old algorithms book. Reading it at a fast pace will give anyone a good survey of algorithms. I read the Pascal version, and it was clear enough to pick up a fair idea of many things.
Sedgewick's course on Algorithms, through Coursera, is pretty good, for anyone who wants to learn more about basic algorithms, or (like me) needs a refresher.
reply