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.
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...