The Viterbi Algorithm (http://en.wikipedia.org/wiki/Viterbi_algorithm) is my all-time favorite, because of what it does: help machines understand the cause of a sequence of observations. Its real-world applications are humbling. A strong contender is Alpha-Beta pruning (http://en.wikipedia.org/wiki/Alpha-beta_pruning), which makes computers better than humans at chess. Otherwise, anything on http://www.scriptol.com/programming/list-algorithms.php is worth looking at. -- follow-up on Viterbi real-world use cases -- When I was a student I implemented two systems that used the Vitterbi algorithm as school projects: * A voice codec for the GSM. They use convolutional codes for channel coding. The Viterbi algorithm is used to decode them. * A basic speech-to-text system that used the Vitterbi algorithm to solve Hidden Markov Models.