
Great Algorithms that Revolutionized Computing - era86
http://en.docsity.com/news/interesting-facts/great-algorithms-revolutionized-computing/
======
avmich
Hash tables were highly praised by Knuth as "the invention of the year". If we
have binary search in the list, we should have hashes.

~~~
gamegoblin
This is a pretty bad list. To say that the fast inverse square root trick
revolutionized computing is a joke. I doubt anyone on HN was unaware of any of
these algorithms and couldn't name more "revolutionary" ones.

No FFT? No simplex algorithm? Hashing? Strassen's?

------
rumbler
That inverse square root algorithm is a neat trick, but it did not
revolutionize anything.

In addition to several algorithms already mentioned, I feel that suffix trees
and suffix array algorithms should be there as well. They are making all kinds
of approximate searches feasible in bioinformatics.

~~~
mistercow
I'm also not sure isqrt counts as a new _algorithm_. It's just Newton's method
with a bit hack to exploit the floating point format and extract a good
starting point.

------
cliveowen
I can't fathom why the Simplex algorithm wasn't included, it's considered,
with reason, the most important algorithm of the 19th century.

~~~
gamegoblin
Nitpick - Simplex is 20th century.

A cool 19th century algorithm is Radix Sort, though.

~~~
eru
Gauss elimination (for solving linear equation systems) might also be a good
19th century algorithm. (We have better ways, now.)

~~~
toolslive
gauss elimination was known to the Chinese (2nd century BC)

~~~
eru
Interesting. Do you have any pointers for further reading?

~~~
GFK_of_xmaspast
Here:
[http://en.wikipedia.org/wiki/The_Nine_Chapters_on_the_Mathem...](http://en.wikipedia.org/wiki/The_Nine_Chapters_on_the_Mathematical_Art)
and GE was known to Newton, so it wasn't 19th century even in the west
([http://en.wikipedia.org/wiki/Gaussian_elimination#History](http://en.wikipedia.org/wiki/Gaussian_elimination#History))

~~~
eru
Thanks!

------
TTPrograms
...FFT?

~~~
tlarkworthy
yeah, bit biased towards CS.

Neural nets opened a lot of doors.

Bellman equation is in _a lot_ of equipment.

~~~
ArbitraryLimits
Dijkstra's algorithm is close enough to the Bellman equation for programmers,
I guess :)

Also I don't really think taking a Taylor series for the inverse square root
should count as an "algorithm."

~~~
nly
I think the reason the inverse square root function got so much coverage was
because of the bithacking of the float format, and the apparent WTFyness of
the code. Also didn't it use Newtons method, not a Taylor series expansion? My
math at that level is stale.

~~~
NAFV_P
> _... and the apparent WTFyness of the code._

That's what ID Software thought:

[http://en.wikipedia.org/wiki/Fast_inverse_square_root#Overvi...](http://en.wikipedia.org/wiki/Fast_inverse_square_root#Overview_of_the_code)

------
bbosh
I'm not sure you can call the Euclidean algorithm a "computer algorithm", it
having been discovered some 2,000 years before computers existed.

------
carlosvega
What about RSA?

~~~
TrainedMonkey
Seems to be covered by public key cryptography.

------
michaelochurch
Let me add: Least Angle Regression.

It's an efficient way for performing Lasso (L^1-penalization) to regression
models, which has the benefit of (in addition to reducing risk of overfitting)
producing sparse models.

~~~
GFK_of_xmaspast
That's a little specific.

SIAM put out a 'ten algorithms of the century'
[https://www.siam.org/pdf/news/637.pdf](https://www.siam.org/pdf/news/637.pdf)
a few years ago and it's really tough to argue with six or seven or eight of
them.

(MCMC, simplex, Krylov, Householder decomposition, QR, Quicksort, FFT,
Ferguson&Forcade's integer relation stuff (that led to stuff like PSLQ), and
fast multipole)

And FORTRAN.

