
-----------------------------------
Naveg
Sun Oct 22, 2006 7:31 pm

Learning Algorithms
-----------------------------------
I'm currently looking for a good source to learn basic to advanced algorithms  and algorithm design from. Does anyone know of a good book, website, or other to help me with this? Thanks.

-----------------------------------
bugzpodder
Sun Oct 22, 2006 7:40 pm


-----------------------------------
algorithm design mannual, sedgewick's algorithms, CLRS (intro to algorithms, 2nd edition), knuth's TAOCP (the art of computer programming).  books are by far the best way of learning algorithms (much better than web resources, since there are no comphrehensive resources)...

-----------------------------------
Naveg
Mon Oct 23, 2006 1:43 pm


-----------------------------------
if i were to pick one of those to begin with, how does CLRS sound? Based on the small amount of looking i've done on amazon etc, it seems to be a good starting point.

Anyone know of a good place to buy this book for a decent price? I've seen it pretty cheap for the "international economic edition" which is black and white - does colour make a big difference?

-----------------------------------
Hikaru79
Mon Oct 23, 2006 10:36 pm


-----------------------------------
I have huge amounts of love for the following book:
http://www.amazon.co.uk/Programming-Challenges-Training-Computer-Science/dp/0387001638


The challenges of problems from international programming competitions are an effective way to improve your algorithmic and coding skills and understanding. This volume uses international programming competition-type problems to motivate the study of algorithms, programming, and other topics in computer science. The book includes more than 100 programming challenges, as well as the theory and key concepts necessary for approaching them. Problems are organized by topic, and supplemented by complete tutorial material. Readers gain a concrete understanding of both algorithmic techniques and advanced coding topics. Unique Features:- Offers a wealth of rich programming problems suitable for self-study - all with on-line judging at www programming-challenges.com- Presents practice training for all major programming contests - ACM International Collegiate Programming Contest (ACM ICPC), International Olympiad in Informatics (IOI), and Topcoder Challenge- Serves as a convenient, web-based means of adding a programming component to any algorithms or software engineering course - Contains complete working code for fundamental data structures and graph, string, numerical and geometric algorit Skiena is a member of the faculty of computer science at SUNY Stony Brook and is author of many widely used books, including The Algorithm Design Manual. He received the 2001 IEEE Computer Society Undergraduate Teaching Award. Miguel Revilla is a member of the faculty of computer science at the University of Valladolid, Spain. He is official website archivist of the ACM ICPC and creator/maintainer of the primary robot-judge, contest-hosting website.
It uses C as the language to code the examples in, but the concepts are universal. Awesome resource, and although I'm not going to say much, let's just say that if you look hard enough, you'll find copies floating around online maybe perhaps... :)

-----------------------------------
Naveg
Mon Oct 23, 2006 10:48 pm


-----------------------------------
indeed, i understand,  :wink: 

there is still something irreplaceable about holding a physical book, however

-----------------------------------
bugzpodder
Wed Oct 25, 2006 6:52 am


-----------------------------------
while i heard mostly positive things about programming challenges, I briefly looked through that book and found it to contain nothing too valuable (yes, i do have it).  Although it might be that I am performing at a somewhat high level.  So it might be something worth looking at for beginners.  CLRS is definitely good, but as a word of caution it is too difficult as a starting guide for most people.

-----------------------------------
Naveg
Wed Oct 25, 2006 11:46 am


-----------------------------------
I checked out programming challenges, it looks like a very useful book, but a little awkward for me since my primary language right now is Java, and the process for submitting in Java to those online judges is rather annoying. Still a good source for when I learn C/C++, which is imminent.
