News for hackers. Stuff that matters.
Re:The Most Important Algorithms by SlyShy on Monday July 05, 2010 @06:29PM (#1489289)
Thanks for posting this, I have a bunch of algorithms to learn. :)
Re:The Most Important Algorithms by mahmud on Monday July 05, 2010 @06:48PM (#1489338)
Instead of going by a checklist, try to approach it by domain: Searching; Sorting; floating point, integer computing, and bit-manipulation; numerical analysis and computation; DSP; optimization and dynamic-programming; information theoretic stuff like compression and encryption; graph theoretic algorithms; symbolic algebra; geometric and hierarchic data structures and algorithms; statistical, probabilistic and inferential algorithms; string and sequence processing along with linguistic techniques, etc.

The whole point of big encyclopedic texts like Cormen et al. is to wet your feet and give you a broad exposure to various techniques. That way you have a small idea on what you want to use next, and you know which domain to focus your research.

My one recommendation is to ditch programming languages with huge boot-times when playing with algorithms. You want something that you can interact with live and see results; in that regard, even a symbolic algebra system like Maxima would be better than C, C++ and Java. Lisp and Python would be ideal for most algorithms.

Re:The Most Important Algorithms by SlyShy on Monday July 05, 2010 @07:24PM (#1489407)
That's my usual approach, so the algorithms outside the domains I've studied were unfamiliar. Would you be able to recommend books in graph theory, and statistics/probability? I'd be much obliged.
Re:The Most Important Algorithms by dododo on Monday July 05, 2010 @07:29PM (#1489419)
this is a splendid book that covers the most probabilistic/statistical algorithms: http://www.inference.phy.cam.ac.uk/mackay/itila/
Re:The Most Important Algorithms by SlyShy on Monday July 05, 2010 @09:42PM (#1489701)
Thank you!
Re:The Most Important Algorithms by johnfn on Monday July 05, 2010 @08:39PM (#1489558)
I've been trying to learn algorithms through this not-so-well known website: train.usaco.org

It gives you questions that you write programs to solve, then judges your programs against test cases. It's fantastic. The questions are difficult, but never impossible, and they drill you well on diverse algorithms, building on previously learned concepts, so that you really understand the material.

Re:The Most Important Algorithms by iamanet on Monday July 05, 2010 @07:22PM (#1489402)
I am going through Cormen et al. with the objective of getting my feet wet but the whole process is painfully slow. I thought it would be nice to have at least some familiarity on the widely used algorithms across the globe. However, you are right on ditching programming languages with huge boot times. I am happily trying out my algorithms in Python.
Re:The Most Important Algorithms by sb on Tuesday July 06, 2010 @02:11AM (#1490133)
CLR is an extremely well written algorithms textbook, but I use it more as a reference than for self-study. My first algorithms book was Sedgewick's Algorithms (where all algorithms were presented in Pascal), which is a very good algorithms text that is much lighter on several aspects.

Recently, however, I came across the following gem: Algorihtms + Data Structures = Programs, by Niklaus Wirth. (an Oberon version of 1994 is available for free: http://www.oberon.ethz.ch/WirthPubl/AD.pdf). I think this is hands down one of the best algorithm books. It amazes me how much content Niklaus Wirth is able to present in concise, yet crystal clear writing. Besides the usual algorithms, he includes very interesting applications that probably no other book does: using the partitioning of QuickSort to find the median (pg. 56 in above PDF, Section 2.3.4), based on algorithm by C.A.R. Hoare, and an in-depth discussion of polyphase sort (pg. 70, Section 2.4.4), which might be interesting for heavily distributed sorting (that at least what I imagined as a possible application when I recently re-read parts of it).

Re:The Most Important Algorithms by iamanet on Tuesday July 06, 2010 @02:41AM (#1490189)
Thanks. BTW, here is the correct link for the book that you referred to on your comment - http://www-old.oberon.ethz.ch/WirthPubl/AD.pdf.
Re:The Most Important Algorithms by sb on Tuesday July 06, 2010 @03:04AM (#1490234)
Thanks for the correction!
Re:The Most Important Algorithms by mahmud on Tuesday July 06, 2010 @07:20PM (#1492755)
A fellow Oberon fan! Wirth has a rare talent for language design, and I cut my compiler hacking teeth on Oberon, thanks to his tiny booklet on the language and its implementation.
Re:The Most Important Algorithms by sb on Wednesday July 07, 2010 @02:18AM (#1493500)
I think his talent for language design is undisputed. But his talent for writing easily equals his talent in programming, e.g., I never came across any work of Wirth that was not well written and contained interesting insights. A couple of years back, I came across the very interesting paper "Good Ideas, Through the Looking Glass" (2005) http://www.cs.inf.ethz.ch/~wirth/Articles/GoodIdeas_origFig.... which is probably not as Wirth-esque as his books, but still an interesting review of what happend in our discipline, looking back.
Re:The Most Important Algorithms by tptacek on Monday July 05, 2010 @08:24PM (#1489527)
Strongly recommend Skiena over Cormen, for what it's worth.
Re:The Most Important Algorithms by igravious on Tuesday July 06, 2010 @04:23AM (#1490370)
Link for both please, and why? :)