I was computer engineering major in college and never took an algorithm course. I self studied algorithms before (mainly for interview with Amazon), however, I never truly internalized it. Looking at some other posts, some of you guys make it out that algorithms and interview questions come to you with ease. Any books or online courses that you would recommend to truly internalize the foundation of algorithms without falling asleep?
You should just do one or the algorithms courses on Coursera.
I've noticed that in the when it comes to algorithms, books become outdated in a jiffy. To stay on top, I'd suggest careercup.com. You often find people discussing time/space complexities for multiple solutions on a single problem which in my opinion helps a lot.
That might be good for interview questions but for the theory the books are not outdated.
Carrano - data structures / algorithms for C++ is the reference I had to get. I think it's out of print but I like it. The coursera algorithms class (from Stanford if I remember correctly) would have the same details
Knuth. Be a man (metaphorically, with all due respect to women in SC) and soldier through the complete Knuth work. Don't do it for the interview, do it for yourself.
The whole tome is pretty friggin expensive. I want to get it but just bought a ton of books on stats to beef up my ML technique :P
It is expensive, but it is also a piece of furniture that cannot be absent from the bookshelf of the refined computer scientist :)
Kleinberg and Tardos (most underrated algorithms book IMHO).
sedgewick's book "algorithms in c++" is another good one
Algorithms unlocked by Cormen. Then introduction to algorithms by cormen again.