网站大量收购闲置独家精品文档,联系QQ:2885784924

第1章讲 算法引论.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章讲 算法引论.ppt

*;*;*;*;*;*;课程简介;为什么要学习算法 编程序的需要,任何程序都需要算法。 程序 = 数据结构 + 算法 Donald E.knuth :计算机科学就是算法的研究,算法是计算机科学的核心,在在众多的计算机应用领域也充满了各种算法 ,算法是程序设计的精髓,程序设计的实质就是构造解决问题的算法,将其解释为计算机语言 ,掌握算法分析的基本方法与算法设计的基本策略是一个软件工作者的必备条件 改造世界的需要, 国家综合实力的体现;困难:算法太多了,学不过来 学习算法设计与分析的策略、技术和方法,把握解决问题的规律,为设计更复杂、更有效的算法奠定基础。 需要同学们不断学习,深入思考,创新设计。;思考:; 检索问题 分治策略 排序问题 贪心策略 路径问题 规则的设计 设计策略 动态规划 最优化问题 检索 遍历问题 回溯 … 分枝限界 …. ;与算法学习相关的内容;一个例子:插入分类 输入:n个元素存放在数组A中:A[1]~A[n],无序 输出:按照从小到大的顺序重新整理的有序数组A 插入分类算法的设计思想: 1. 将第一个元素(A[1])看作只有一个元素的有序子序列; 2. 置循环 i=2 to n,将A[i]插入到由A[1]~A[i-1]元素组成的有序子序列中。 思考问题: 上述设计思路对吗? 如何实现? 此处忽略算法。。。 ;基于上述算法,思考: 这个算法描述正确吗? 能行、确定、输入、输出、有穷? 正确性证明 运算得快吗? 时间复杂度分析 使用了多少内存? 空间复杂度分析 进一步我们需要回答: 它能够应用到那些领域? 要做深入进一步分析 利用不同语言实现???要那些技巧? 实现;4)分析:对算法的时、空特性做定性、定量分析,以了解算法的性质。 5)测试:将算法变成程序,放到计算机上运行,观察运行情况 编程中的调试:排错过程。“调试只能指出有错误, 而不能指出它们不存在错误” ——Dijkstra的名言 运行中的测试:分析过程。作时空分布图,验证分析结论,进一步优化算法的设计。 本课程集中于学习算法的设计与分析。通过学习,掌握计算机算法设计和分析基本策略与方法,为设计更复杂、更有效的算法奠定基础; 较高的算法设计能力不仅在于简单地使用一些具体的算法,更在于对算法设计方法的掌握上。只有深入理解算法设计的策略、技术和方法,才能在面对新问题时创造出新的算法。 算法学习要做到: 深入理解算法设计的一般规律、技术和方法 灵活运用现有的算法解决实际问题 在改造客观世界的过程中,运用学到的知识创造新的算法,解决新的问题;;历史背景 ;历史背景 ;关注问题是否可以求解的领域称为可计算理论(computability theory or theory of computation)。 一开始,人们满足于能够在一定的时间内解决一个特定的问题,而

您可能关注的文档

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档