什么是算法?

概念的定义很简单算法也就是说,它试图传达的概念是一个争论和科学研究的问题。在大多数教科书中(参见,例如。审查离散算法数学(S.B.Maurer和A.Ralston)算法需要具备几个特性,特别是有限性确定性.散文

 算法是一系列明确的指令,用于解决问题,即在有限的时间内为任何合法输入获取所需的输出[列维京,第3页]。

如果问题在于计算,那么“毫不含糊”通常意味着一个智力一般的人必须能够(如果只是原则上的话)用铅笔和纸遵循指令。理论上,一个有眼光的机器人也必须能够完成这项工作。这不可避免地将算法的思想与编程联系在一起。事实上,算法通常用编程语言来表达,比如帕斯卡C类++,或a伪码一些人通过发明自定义编程语言,如AL byMaurer和Ralston和臭名昭著的假想计算机MIX程序集R·克努特这都是为了使算法的描述尽可能“明确”。

然而,通常情况下算法被认为与程序这种区别与数学中柏拉图的概念和a量级描述一个自然可用集合的大小(例如“三头牛”)

与算法不同,程序通常也不需要在有限的时间内终止,事实上暂停问题,这是一个算法的存在性问题,该算法可以预测给定程序对于给定输入是否会终止(当然是在有限时间内),这是可计算性理论.

在我看来,有限性要求是一种转移注意力的方法。考虑一个输入连续质数的例子。对于任何整数,都有一种明确(有限)的方法来确定它是否为素数。我们一次做一个整数,比如说,2。我们可以设置终止条件(例如,检查第一个百万整数或打印出第一个百万素数),也可以不设置。比较

  N=2
而(N<1000000)
{
如果(N是质数)
打印N
N=无+1
}
     N=2
while(真)
{
如果(N是质数)
打印N
N=无+1
}

我很难想象为什么其中一个会被授予这个称号算法而另一个人将被剥夺这一荣誉。

本网站讨论并演示了几种算法:

  1. 计算LCM的算法
  2. 圆桌会议上的大使
  3. 用插口算法计算圆周率的位数
  4. 圆周率的数字计算(快速版本)
  5. 廉价链接和Kruskal算法
  6. 字符串之间的距离
  7. 埃及乘法
  8. 欧几里德算法
  9. 遗传算法求解蟾蜍和青蛙难题
  10. 霍纳方法
  11. 全部归零
  12. 婚姻问题,模拟
  13. 迷宫
  14. 农民乘法
  15. 项目进度安排
  16. 排序算法

几何施工问题提供其他示例。

“算法”这个词有着有趣的历史。这里有一段引言S.Schwartzman的 数学词汇:

  算法主义(名词),算法(名词),算法专家(名词):这些词来自一个人现在被扭曲的名字,贾法尔·穆罕默德·本·穆萨,他被称为al-Khowarazmi,意思是“来自Khwarazm的人”Vinci)。大约在825年,al-Khowarazmi写了一本算术书,解释了如何使用印度-阿拉伯数字。那本书后来被翻译成欧洲人,以拉丁语标题出现Liber Algorismi公司,意为“科瓦拉兹米之书”。因此,该术语算法主义指的是十进制记数法。任何对阿拉伯数字的使用或操作,尤其是用于加、减、乘等的模式,都被称为算法主义。算术本身有时被称为算法主义,以类似的方式,主张采用印度-阿拉伯数字的欧洲人被称为算法学家。几个世纪以来,这个词算法主义在形式上经历了许多变化。在古法语中,它变成了预言后来发展成为现在过时的英语奥格利姆,农业、和.当前表单算法展示了牛津英语词典称之为“伪词性反常”:它与单词混淆了阿里第个甲基丙烯酸甲酯(这是它的意思之一,有几个字母与之相同);结果就是电流阿尔戈里第个。当前词典仍列出较旧的表单算法主义在“十进制或阿拉伯数字系统”的意义上

(我相信这个名字经常被转录为子模他是一位多产且重要的波斯作家。他的一本书的书名,al-jebr w'al-muqabalah,变为当前术语代数。我很高兴提到一个我直到最近才意识到的事实。al-Khowarizmi也写了一篇论文在希伯来历上,Risala fi istikhraj ta'nkh al-yahud公司“犹太时代的提取”。日历只不过是一种分配日期的算法方式,在本例中是希伯来语日期。)

工具书类

  1. R.Knuth,计算机编程的艺术,第1-3卷,盒装,2艾迪森·韦斯利,1998年版
  2. A.莱维汀,算法设计与分析导论,Addison-Wesley,2003年
  3. S.B.Mauer、A.Ralston、,离散算法数学,A K Peters,3岁第个2004年版
  4. R.Sedgewick,算法阿迪森·韦斯利出版公司,1983年
  5. R.Sedgewick,C语言中的算法++阿迪森·韦斯利出版公司,1983年
  6. S.Schwartzman,数学词汇,1994年5月

|联系人| |首页| |目录| |代数| |向上|

版权所有©1996-2018亚历山大·博戈莫尼

71882813