PDA

View Full Version : Recommended books on algorithms and theory?



Merc248
May 4th, 2005, 08:34 AM
Does anyone have any recommendations for books that deal with data structures, algorithms, and general theory in computer science?

I'd like to pick up a few of those sorts of books to read over the summer ;p

odyniec
May 4th, 2005, 09:09 AM
"Introduction to Algorithms" by Cormen, Leiserson, and Rivest.

jerome bettis
May 4th, 2005, 06:21 PM
Algorithms in C by Sedgewick!!!!!!!!!!!!!!!!

WakkiTabakki
May 4th, 2005, 06:40 PM
"Introduction to Algorithms" by Cormen, Leiserson, and Rivest.

Man, that is one heavy volume. Don't get me wrong, it's a fantastic book and contains all anyone needs to know as an introduction (and beyond), but look at it as the "Das Kapital" of Algorithms and Data structures... Anyone who can sit down and read this stuff, really needs to get a hobby (or possibly a lobotomy)!

Some more readable ones:
Goodrich, Tamassia

Data structures and Algorithm in XXX


Weiss, Mark Allen

Data Structures and Problem Solving

Both the above are availiable in different flavours (e.g Java or C++)

Good luck
N

mendicant
May 4th, 2005, 07:38 PM
If you're really hard core, Knuth's "The Art of Computer Programming" series is good--you can cherry pick just the sorting and searching, if that's all you wanted. Good stuff on searching and sorting through text.

I also like to keep a reference on numerical methods around--I have "Numerical Analysis" by Burden and Faires, in addition to the Knuth book on this.

The Cormen et al book mentioned before is a good reference for lots of common data structures and algorithms (check out the STL, the boost libraries or Java's libraries to see these in practice).

If you live near a CS library, you can always check out the ACM's Journal of Experimental Algorithms (wear goggles when you try these, of course).

You could also specialize: graphics applications (numerical methods, interpolation and approximation, linear algebra, curves and surfaces); networks (graph theory, distributed computation); formal methods; automata theory; learning etc, etc--just look up a University's course listing.

And if you want to write code for other people (to use or contribute to), you should also pick up something on good design practices (Herb Sutter's Exception C++ series, for instance).

Merc248
May 5th, 2005, 10:00 AM
Niiice. I need to check those out sometime... I'd probably be able to get like one or two of those books only though. ;\

I'm looking mostly for pseudo code stuff rather than actual implementations... at least to me. it seems easy enough to adapt a general algorithm for other languages if its all in pseudo code ;p

I'm going to see if there is indeed a CS library in the University of Washington's plethora of libraries (I don't go there right now actually, it's probably the only set of libraries close by that I'd imagine would have all sorts of that stuff, though). Thanks for the suggestions, guys. :D

mendicant
May 5th, 2005, 03:22 PM
If you can only get one or two, go to the library and check them out before buying. The Cormen et al book is probably a good start--pseudocode (at least in my old version of it) and lots of breadth. If you are going to buy it, go to the University book store and check if they have used copies (or any other used book store near a university campus).

tread
May 5th, 2005, 06:41 PM
Cormen et. al. really .. though if you don't want to spring some money googling would probably help too.

A lot of instructors maintain notes on their college website, and that usually is good to get you started .. then when you find something interesting search for that specifically :)

mendicant
May 5th, 2005, 10:25 PM
And MIT has OpenCourseWare:

http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-046JFall-2004/CourseHome/index.htm

A class by professor Leiserson. It might be a handy guide to the book.

mak2000
May 5th, 2006, 05:34 PM
1. Algorithms: Design Techniques and Analysis (http://www.amazon.com/exec/obidos/ASIN/9810237405/mak2000softwa-20?creative=327641&camp=14573&adid=0EGM4Q57SMHR2HP0Q3PY&link_code=as1), 430 pages. This book gives concise treatment of design techniques and analysis of algorithms . I used this book at undergraduate and graduate level

2. Introduction to Algorithms (http://www.amazon.com/exec/obidos/ASIN/0262032937/mak2000softwa-20?creative=327641&camp=14573&adid=1RG5AJ0HDRVEV1ERGKN2&link_code=as1), 1184 pages. This book is give more breadth coverage on algorithms. More suited as a reference book rather than as a course book.

unbuntu
May 5th, 2006, 06:04 PM
Art of Computer Programming by D.Knuth hands down!

Although I myself haven't had a chance to complete it

krypto_wizard
May 5th, 2006, 06:04 PM
deleted

LordHunter317
May 5th, 2006, 06:10 PM
Algorithms in C by Sedgewick!!!!!!!!!!!!!!!!He has a pair of C++ volumes now, and they're far more up to date. I have the first volume on my shelf. However, this isn't a C++ book, nor is the C++ "good" C++. One must keep this in mind while reading it.


There are bunch of eBooks available too on torrentsSuggesting piracy here isn't wise.

RavenOfOdin
May 6th, 2006, 01:11 AM
"The Art of Assembly Language" wasn't all that bad.

I think you can download the book as a whole load of PDF's organized via chapter. . . I forget the author, though.