一算法的基本概念.pptVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一算法的基本概念.ppt

* * 一.算法的基本概念 1 什么是算法 算法(algorithm)一词源于算术(algorism),算术方法的原义是一个由已知推求未知的运算过程。后来,人们把它推广到一般,指算法是在有限步骤内求解某一问题所使用的一组定义明确的规则,甚至把把进行某一工作的方法和步骤也称为算法。 例如,人们在计算过程中,先乘除,后加减,从内到外去括号等规则,都是按部就班必须遵守的算法。人类最早关于算法的记录存在于在两河流域发现的公元前两三千年的泥板书上,其中的一个典型例子就是计算利息何时能够够等于本金。算法早期发展中值得一提的另一个成果应归功于古希腊的欧几里得,他提出的计算最大公约数的辗转相除法(又称欧几里得算法)至今仍在使用。 欧几里得是古代最有名望的学者之一,古希腊数学家,几何学的鼻祖。公元前300年左右,他所著《几何原本》13卷,是世界上最早公理化的数学著作。在《几何原本》中他充分总结了前人的生产经验和研究成果,从公理和公设出发,运用演绎法,经过逻辑推理和数学运算,创立了著名的欧几里得(简称欧氏几何)。 在《几何原本》中,欧几里得还阐述了关于求两个整数的最大公约数的过程,这就是著名的欧几里得算法——辗转相除法,其具体过程如下: 设给定的两个正整数为m和n,求它们的最大公约数的步骤为: (1)以m除以n,令所得的余数为r(r必小于n); (2)若r=0,则输出结果n,算法结束;否则,继续步骤(3) (3)令m=n,n=r,并返回步骤(1)继续进行。 中国古代数学研究中也有许多有关算法的成果。用我国传统的开方术求高次方程的近似根,是算法上的一大成就。此外,在社会上得到广泛使用的珠算口诀就可以看做是典型的算法,它把复杂的计算(例如除法)描述为一系列按口诀执行的简单的算珠拨动操作。 中国古代数学以算法为主要特征,其中最具代表性的就是《九章算术》。 《九章算术》是战国、秦、汉时期数学发展的总结,就其数学成就来说,堪称是世界数学名著。其内容按类分章,以数学问题的形式出现,包括分数四则运算、开平方与开立方(包括二次方程数值解法)、盈不足术、各种面积和体积公式、线性方程组解法、正负数运算的加减法则、勾股形解法(特别是勾股定理和求勾股数的方法)等。其中方程组解法和正负数加减法则在世界数学发展上是遥遥领先的。就其特点来说,它形成了一个以筹算为中心,与古希腊数学完全不同的独立体系。 在11~14世纪约300年期间著名的数学家的著作中,如贾宪的《黄帝九章算法细草》,刘益的《议古根源》,秦九昭的《数书九章》,李治的《测圆海镜》和《益古演段》,杨辉的《详解九章算法》、《日用算法》和 《杨辉算法》中,算法的特点得到了进一步的强化和发展(其中包括发展了一套求高次方程近似根的方法。 2.算法的一般特征 算法实际上是一种抽象的解题方法,它具有动态性。因此,算法的行为非常重要。作为一个算法,应具有以下四个特征。 1)能行性(effectiveness) 算法的能行性包括两个方面:一是算法中的每一个步骤必须是能实现的。例如,在算法中,不允许出现分母为零的情况;在实数范围内不能求一个负数的平方根等。二是算法执行的结果要能达到预期的目的。通常,针对实际问题设计的算法,人们总是希望能够得到满意的结果。 (2)确定性(definiteness) 算法的确定性,是指算法中的每一个步骤都必须是有明确定义的,不允许有模棱两可的解释,也不允许有多义性。这一特征也反映了算法与数学公式的明显差异。在解决实际问题时,可能会出现这样的情况:针对某种特特殊问题,数学公式是正确的,但按此数学公式设计的计算过程可能会使计算机系统无所适从,这是因为,根据数学公式设计的计算过程只考虑了正常使用的情况,而当出现异常情况时,该计算过程就不能适应了。 例如,某计算工具规定:大于100的数认为是比1大很多,而小于10的数不能认为是比1大很多;且在正常情况下出现的数或是大于100,或是小于10.但指令“输入一个X,若x比1大很多,则输出数字1,否则输出数字0”是不确定的。这是因为,在正常的输入情况下,这一指令的执行可以得到正确的结果,但在异常情况下(输入的x在10与100之间),这一指令执行的结果就不确定了. 例如,某计算工具具有七位有效数字(如FORTRAN中的单精度运算),在计算下列三个量 A= ,B=1,C= 的和时,如果采用不同的运算顺序,就会得到不同的结果,即 A+B+C = +1+ =0 A+C十B = + +1=1 而在数学上,A +B +C与A+C+B是完全等价的。这可知,算法和计算公式是有差别的。 3)有穷性

文档评论(0)

天马行空 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档