2010-07-06 82 views
3

Christoph Koutschan成立了an interesting survey,试图找出“世界上最重要的算法”。由于其中一个标准是“算法必须被广泛使用”,我认为将调查扩展到Stack Overflow的庞大用户群是一件很自然的事情。什么是最重要的算法?

那么,您怎么看?在算法名人堂中哪些算法值得一席之地?

+0

“数据压缩”真的算法吗? – Cam 2010-07-06 17:27:17

+0

我认为你的链接已经做得很好,并且没有希望得到“更好”答案的观点 - 除此之外,它太主观了,答案会随着工作领域的不同而变化。最普遍的想法 - 二分查找,分支动态规划,牛顿方法/梯度下降法,常用图搜索算法等等 - 将在任何地方表现出来,以至于它们几乎都是元算法。 – ShreevatsaR 2010-07-06 17:31:59

+0

思想之间也存在很多重叠,以至于无意义的“排名”算法是“最重要的”。例如,牛顿的方法和梯度下降可以说是“道德上”等同的(并且EM也是接近的),Buchberger的惊人算法是欧几里德算法+高斯消元,SVD与后者密切相关等。 – ShreevatsaR 2010-07-06 17:37:26

回答

3

我有点像这个算法:

  1. 编写代码。

  2. 测试代码。如果车,则转到步骤3.如果不是,请转到步骤4

  3. 重写代码,然后回到步骤2

  4. 找别人来测试你的代码。如果他们发现任何错误,请返回步骤3,否则请转至步骤5.

  5. 恭喜,您的代码没有明显的错误!现在,您等待用户偶然发现隐藏的一个,在这种情况下,您将再次返回到步骤3,除非您幸运并且不再为相关代码提供支持。

+0

6.交付 - > 7. Mantain(即GOTO 1) – 2010-07-06 17:32:35

+0

@belisarius:是的,修改了#5一点。 – JAB 2010-07-06 17:34:18

+0

+ 1,但我会改变5.“除非你是幸运的......”:) – 2010-07-06 17:36:17

0

我会说二进制搜索,因为它通常是人们学习的第一个算法。而RSA加密算法非常重要。

0

散列,因为它是安全,数据结构等方面的基础。散列算法已经产生了大量的博士学位。论文。