BM is my favourite algorithm, but I haven't seen any others that are as elegant and powerful. What are the other examples you're thinking of?
(BM is especially cute because the basic idea is so simple: do it backwards. Quicksort is very clever. Arithmetic coding is mindbendingly cool, but the algorithm isn't simple enough - for this old brain anyway.)
Levenshtein, DCTs, Wavelets, Phong shading, flood fill and so on. There are so many really insightful algorithms.
But BM stands out for me because it is taking the opposite approach where that was entirely non-obvious in spite of lots of people having looked at that problem for a very long time (and plenty of those people were anything but stupid).
Comments
BM is my favourite algorithm, but I haven't seen any others that are as elegant and powerful. What are the other examples you're thinking of?
(BM is especially cute because the basic idea is so simple: do it backwards. Quicksort is very clever. Arithmetic coding is mindbendingly cool, but the algorithm isn't simple enough - for this old brain anyway.)
Levenshtein, DCTs, Wavelets, Phong shading, flood fill and so on. There are so many really insightful algorithms.
But BM stands out for me because it is taking the opposite approach where that was entirely non-obvious in spite of lots of people having looked at that problem for a very long time (and plenty of those people were anything but stupid).