3 ms·
Take an algorithms course at the best university you have access to. Do all the homework. As for books, I really like Algorithm Design [Tardos, Kleinberg]. It
by csmajorfive 19y ago
Take an algorithms course at the best university you have access to. Do all the homework.
As for books, I really like Algorithm Design [Tardos, Kleinberg]. It has a ton of really well designed problems to work on.
- mronge 19y agoI'll second the Algorithm Design book recommendation. An even better theory book is Introduction to the Theory of Computation by Sipser, however it covers slightly different topics. It is one of the most readable theory books I've seen, highly recommended, and a great resource for information on regular languages, context-free grammars and turing machines. A less theoretical book, that is useful for a gentle intro is Masting Algorithms with C. A bit off the theory track, but useful for a software engineer: Modern Operating Systems by Tanenbaum and Computer Organization and Design for info on hardware.
- neilc 19y agoThe Sipser computation theory book is absolutely fantastic, I agree. Definitely the most readable and clear book on the subject that I know of. However, I don't think it would be particularly useful to prepare for an interview -- the number of people likely to quiz you on the details of computability theory or complexity theory is pretty small.
- llimllib 19y agobut if you understand sipser, you've probably got a good enough base to fudge through a lot of whatever they throw your way. (And recommendation thirded! I just reread a good bit of the book on a flight to Montana, and it still rocks.)
- boucher 19y ago"Algorithm Design" is a great book. A similar quality book that focuses more on introductory material is "Introduction to Algorithms" http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262032937/ref=pd_bbs_2?ie=UTF8&s=books&qid=1204613127&sr=8-2 http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme...