http://www.cs.berkeley.edu/~vazirani/algorithms.html
I wonder a little about that text's status as a freely available draft and whether it would be kosher to distribute the pdf if that site disappears.
http://www.cs.berkeley.edu/~vazirani/algorithms.html
I wonder a little about that text's status as a freely available draft and whether it would be kosher to distribute the pdf if that site disappears.
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.
(To keep this on topic, my assembly instructor -- the legendary [to NC State students] Dana Lasher -- posts his course pack online. [1] It's a comprehensive introduction to computer architecture topics and original 8086 assembly programming.)
http://i.stanford.edu/~ullman/focs.html
As far as x86 assembly goes, I found Kip Irvine's book to be pretty great. (not free) It's not a subject I would want to spend more time on, though.
Coincidentally I just signed up for Ullman's Automata course at Coursera. The description makes it seem pretty basic but I'm interested to see what he does with it.
[1] http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme...
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...
I used Aho, Hopcroft, and Ullman's two Algorithms books in class. They are old but extremely good. If you want to buy dead tree books they're available used for a very low price.
Hope that helps.
(I didn't really mean to recommend Sedgwick's stuff. As I said, I just think it's not bad.)
We used this in our upper-division intro to algorithms course. Solid book, goes over important algorithms while remaining short and concise, A+ would read again.
I thought the text (and class) was pretty good, although I'm sure being in the class helped. You should definitely have some experience with basic data structures, discrete math and graph theory before diving into it.