- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
1.4数据结构与程序设计“我们对复杂性问题的最重要的办法是抽象,对一个复杂问题,不应马上用计算机指令、数字与逻辑字来表示,而应该用较为自然的抽象语句来表示,从而得出抽象程序。抽象程序对抽象的数据进行某些特定的运算并用某些合适的记号(可能是自然语言)来表示。基于数据结构的jackson设计方法:①研究问题环境,确定要处理的数据结构;②基于数据结构,形成程序结构(骨架);③用初等操作来定义要完成的任务,并分配初等操作。“从上到下,逐步求精”对抽象程序作进一步的分解,并进入下一层的抽象,这样的精细化过程一直进行下去,直到程序能被计算机接受为止。此时的程序可能是某种高级语言或机器指令书写的。”——N.wirth算法(Algorithm):是对特定问题求解步骤的一种描述,它是指令(规则)的有限序列,其中每一条指令表示一个或多个操作。算法是在有限步骤内求解某一问题所使用的一组定义明确的规则;通俗点说,就是计算机解题的过程;在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。前者是推理实现的算法,后者是操作实现的算法。1.5算法描述与算法分析早期的语言学家:algiros(费力的)+arithmos(数字)组合派生而成,但另一些人认为这个词是从“喀斯迪尔国王Algor”派生而来的;数学史学家发现了algorism(算术)一词的真实起源:它来源于著名的PersianTextbook(《波斯教科书》)的作者的名字AbuJa‘farMohammedibnM?saal-Khowarizm(约公元前825年)意思是“Ja’far的父亲,Mohammed和M?sa的儿子,Khowarizm的本地人”。Khowarizm是前苏联XИBA(基发)的小城镇。Al-Khowarizm写了著名的书Kitabaljabrw‘al-muqabala(《复原和化简的规则》);另一个词,“algebra”(代数),是从他的书的标题引出来的;牛津英语字典:这个词是由于同arithmetic(算术)相混淆而形成的错拼词。由algorism又变成algorithm;德文数学词典VollstandigesMathematischesLexicon(《数学大全辞典》),给出了Algorithmus(算法)一词的如下定义:“在这个名称之下,组合了四种类型的算术计算的概念,即加法、乘法、减法、除法”。拉顶短语algorithmusinfinitesimalis(无限小方法),在当时就用来表示Leibnitz(莱布尼兹)所发明的以无限小量进行计算的微积分方法;1950年左右,algorithm一词经常地同欧几里德算法(Euclidsalgorithm)联系在一起。这个算法就是在欧几里德的《几何原本》中所阐述的求两个数的最大公约数的过程(即辗转相除法)。资料:Algorithm与Logarithm经过月数兔子对数001121324355687138219341055118912144(1175-1250)意大利数学家从Fibonacci数列开始……,神奇的数列!斐波那契在《算盘书》中提出了一个有趣的兔子问题:一般而言,兔子在出生两个月后,就有繁殖能力,1对兔子每个月能生出1对小兔子来。如果所有兔都不死,那么1年以后可以繁殖多少对兔子?我们不妨拿新出生的1对小兔子分析一下:第1个月小兔子没有繁殖能力,所以还是1对;2个月后,生下1对小兔总数共有2对;3个月以后,老兔子又生下1对,因为小兔子还没有繁殖能力,所以一共是3对;…….12个月以后呢?Fibonacci:0,1,1,2,3,5,8,13,21,34,55,89,……….0如果n=01如果n=1Fn-1+Fn-2如果n1Fibonacci数列的生成规则:Fn=Fn≈20.694n,Fibonacci数增长的速度几乎与2的幂增长的速度相当!F30超过了100万,F100已经达到21位数字!F200是多少?谁能告诉Fibonacci?Longintfib1(intn){if(n==0)return(0);if(n==1)return(1);return(fib1(n-1)+fib(n-2);}fib1(200)执行的
文档评论(0)