0
2

[–] Akidan 0 points 2 points (+2|-0) ago 

You could argue it falls under more data structure than algorithm, but... I'm gonna go with it anyway. Bloom filters.

I like them, because they manage to do something extremely efficiently, by giving up some guarantees about the accuracy of their results. Normally in computer science, things that return the correct result most of the time are considered broken, which is why things like hashtable lookups and bloom filters are so cool to me. They're imprecise mechanisms that are extremely useful.

0
1

[–] theadmiral 0 points 1 points (+1|-0) ago 

Love them. When you first learn about them it kind of changes the way you think about things. You can get your result right 99% of the time but at 1/10th the cost.

0
2

[–] MrQueue 0 points 2 points (+2|-0) ago 

I am taking an algorithms course right now on Coursera (it just started) and so far MergeSort is totally bad ass and has a ton of applications!

0
2

[–] JeffreyARobinson [S] 0 points 2 points (+2|-0) ago 

I agree, MergeSort is pretty cool. One cool thing about MergeSort is that if you are using linked lists you can merge two arrays without using any extra space.

0
1

[–] verifex 0 points 1 points (+1|-0) ago 

I think one of my favorites is Huffman coding, it's just so elegant for compression. I also implemented it in a class about 6 months ago and while it was a little tricky, I was happy with the result!

0
0

[–] JeffreyARobinson [S] 0 points 0 points (+0|-0) ago 

I really like Huffman Coding as well, it is super simple to understand and implement. I wonder if you can parallelize it!

0
1

[–] Drenki 0 points 1 points (+1|-0) ago  (edited ago)

The Burrows-Wheeler transform because it uses bananas in the examples.

0
1

[–] nicky_haflinger 0 points 1 points (+1|-0) ago 

I like binding a non-global substitution regex to a string as the argument of a while loop. Easy to do in Perl and Ruby, and Turing complete. There are some useful grammar operations you can describe this way. Good for homebrew DSLs

0
1

[–] theadmiral 0 points 1 points (+1|-0) ago 

I fell in love with A* when I first learned about it. It's like this giant leap from normal graph algorithms to the "AI-like" graph algorithms and it still gives optimal results.

0
1

[–] blantonsoriginal 0 points 1 points (+1|-0) ago 

Y Combinator

0
1

[–] JeffreyARobinson [S] 0 points 1 points (+1|-0) ago 

Can you expand on this?

0
1

[–] blantonsoriginal 0 points 1 points (+1|-0) ago 

It is a pattern that allows for recursion in languages that do not support self referential context calls.

0
1

[–] pm_me_firearms 0 points 1 points (+1|-0) ago 

Bubble Sort.

It's retardedly simple to understand and code, if a bit slow.