It seems worth mentioning specific books by name, since lists of lists don't help people differentiate the great from the good. Algorithms by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani looks really promising as an introductory algorithms textbook. I wonder if anyone has experience using it in class? http://www.cs.berkeley.edu/~vazirani/algorithms.html I wonder a little about that text's status as a freely ava…
It lacks any sort of underlying narrative or structure--I think this is common with algorithms texts in general. Probably why I didn't like the course much. It feels like a bunch of disjoint topics held together very loosely by some techniques that get repeated a bit.
I compare it very unfavorably to Sispser's Introduction to the Theory of Computation which, I felt, was much more coherent as a book. It's not a fair comparison at all because they're about different (although related) subjects, but I think it neatly illustrates my point.
Also, I don't believe Sipser's book is free, so it's not entirely relevant in that sense either. I just brought it up because I think it's the best example of the underlying narrative and structure I was talking about.