I learned from Sedgewick http://www.amazon.com/gp/product/032157351X/
However, it was a much earlier edition and all the examples are in Pascal. Having to mentally convert the code from 1-based arrays to 0-based like any decent language has been a major pain over the years.
This looks like a C version: http://www.amazon.com/Algorithms-Parts-1-4-Fundamentals-Stru...
I've used Algorithms by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani for the course they teach at Berkeley and didn't like it at all. I'm a pretty big fan of Algorithms by Sedgewick. There is a class on Cousera is also taught by Sedgewick and uses the book. The first half of the book follows a traditional data structures course and the second half a traditional algorithms course.
Some people might find it as a downside but the book was written with Java in mind. I personally didn't mind this at all.
However, it was a much earlier edition and all the examples are in Pascal. Having to mentally convert the code from 1-based arrays to 0-based like any decent language has been a major pain over the years.
This looks like a C version: http://www.amazon.com/Algorithms-Parts-1-4-Fundamentals-Stru...
Some people might find it as a downside but the book was written with Java in mind. I personally didn't mind this at all.
http://www.amazon.com/Algorithms-4th-Edition-Robert-Sedgewic...
http://www.amazon.com/gp/product/032157351X
Disclaimer: I haven't actually seen this edition, which uses Java. My old edition uses C.
Disclaimer #2: I still look into my copies of Sedgewick and Knuth fairly regularly. CLR(S), not so much. Your mileage may vary.