Hacker News new | past | comments | ask | show | jobs | submit login

It's basically just the lecture notes for their class bundled up into a book. I took the class it was based off, and, well, it was okay but not great.

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.




Two and a half years into my bachelor's, Sipser's Introduction to the Theory of Computation is the only computer science textbook I've had so far that I'd say I really found useful for anything beyond the homework problems, besides K.N. King's C Programming: A Modern Approach.

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

[1] http://courses.ncsu.edu/csc236/lec/001/cops.htm


How does Sipser's content compare to Ullman's (free) Foundations of Computer Science?

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.


They're not similar at all. FoCS is mostly about introductory programming and data structures (with a tiny bit about automata). Sipser's book is about computation and complexity - it's comparable to Hopcroft and Ullman's Intro to automata theory, languages, and computation, for which Ullman recommends FoCS or equivalent as a prerequisite.


Interesting. Thanks.

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.


Which book would you recommend for algorithms and data structures instead?


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.

http://www.amazon.com/Algorithms-4th-Edition-Robert-Sedgewic...


As often as this gets recommended, I'd go with Introduction to Algorithms (CLRS)[1]. I'm currently in the process of going through it on my own as I'm taking a semester off, and I find it perfect to study from. It goes in depth, explaining the math behind run times (which some may like about it, while other might not), and it covers a lot of ground. I haven't fully finished it, and I'm only on chapter 6, but so far it's one of my favourite textbooks to study from.

[1] http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme...


Skiena's Algorithm Design Manual and Kleinberg and Tardos' Algorithm Design are both very nice books. CLRS is very nice, and depending on your personal ethics the Solutions manual for the 2nd edition is pretty easily obtainable online, which might be useful for that despicable and highly discouraged activity known as self-study. Sedgwick's stuff is not bad.

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.


So... recommendations for all the major books.


I can go into the strengths and weaknesses of each (I'm kind of a packrat...) but you haven't said anything about yourself or what you're looking for. If you really don't know what you're looking for you should just do what the majority of people here would tell you to do and get CLRS. It's not an accident that these are popular textbooks or that CLRS is the most popular.

(I didn't really mean to recommend Sedgwick's stuff. As I said, I just think it's not bad.)




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: