[理学]算法分析与设计概论.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  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文档。上传文档
查看更多
[理学]算法分析与设计概论

1 中国计算机学会 “21世纪大学本科计算机专业系列教材” 算法设计与分析 2 主要内容介绍 第1章 算法引论 第2章 递归与分治策略 第3章 动态规划 第4章 贪心算法 第5章 回溯法 第6章 分支限界法 3 主要内容介绍(续) 第7章 概率算法 × 第8章 NP完全性理论 × 第9章 近似算法 × 第10章 算法优化策略 × 4 第1章 算法引论 1.1 算法与程序 1.2 算法复杂性分析 本章主要知识点: 学习目标 掌握算法设计与分析的基本理论; 掌握进行算法设计与分析的基本方法(时间、空间复杂度分析,算法正确性的证明); 掌握计算机领域中常用的非数值计算方法,并学会用这些算法解决实际问题。 课程要求 教学方式: 理论(36学时)+实践(15学时) 考核方式: 考勤(20%)+作业(30%)+实验(50%) 课程学分: 3学分 先修课程: 《C语言程序设计》《离散数学》《数据结构》 教材和教参 选用教材: 《计算机算法设计与分析》(第三版) 王晓东 电子工业出版社 参考书目: 《算法导论》 潘金贵等译 机械工业出版社 《算法设计与分析》 郑宗汉等 清华大学出版社 为什么要学习算法? 算法不仅是计算机科学的一个分支,它更是计算机科学的核心,而且,可以毫不夸张地说,它和绝大多数的科学、商业和技术都是相关的。——David Harel《算法:计算的灵魂》 程序=数据结构+算法 开发人们的分析能力 作为一种技术的算法 8 一个人只有把知识教给“计算机”,才能“真正”掌握它。 算法可以解决哪些问题 找出人类DNA中所有100000中基因,确定构成人类DNA的30亿种化学基对的各种序列。 快速地访问和检索互联网数据 电子商务活动中各种信息的加密及签名 制造业中各种资源的有效分配 确定地图中两地之间的最短路径 各种数学、几何计算(矩阵、方程、集合) 9 How to Study Algorithm? 10 “Sometimes we have experiences, and sometimes not. Therefore, the better way is to learn more. 11 1.1 算法与程序 输 入:有零个或多个外部量作为算法的输入。 输 出:算法产生至少一个量作为输出。 确定性:组成算法的每条指令清晰、无歧义。 有限性:算法中每条指令的执行次数有限,执行每条指令的时间也有限。 是算法用某种程序设计语言的具体实现。 程序可以不满足算法的性质(4)即有限性。 是满足下述性质的指令序列。 算法: 程序: 算法学习将涉及5个方面的内容: 1)设计算法:创造性的活动 2)表示算法:思想的表示形式 3)确认算法:证明算法的正确性程序的证明 4)分析算法:算法时空特性分析 5)测试程序:“调试只能指出有错误,而不能指出它们不存在错误” 本课程集中于学习算法的设计与分析。通过学习,掌握计算机算法设计和分析基本策略与方法,为设计更复杂、更有效的算法奠定基础 我们的主要任务 13 算法设计的例子——穷举法 1. 穷举法 2. 百鸡问题 3. 货郎担问题 14 1. 穷举法 从有限集合中,逐一列举集合的所有元素,对每一个元素逐一判断和处理,从而找出问题的解 15 2. 百鸡问题 “鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?” 令 a:公鸡只数 b:母鸡只数 c:小鸡只数 约束方程: a + b + c = 100 5a + 3b + c/3 = 100 c % 3 = 0 a、b、c的可能取值范围:0 ~ 100 对在此范围内的a,b、c、的所有组合进行测试,凡是满足上述三个约束方程的组合,都是问题的解。 把问题转化为用 n 元钱买 n 只鸡,n 为任意正整数 约束方程: a + b + c = n 5a + 3b + c/3 = n c % 3 = 0 16 1) 第一种解法: 输入:所购买的三种鸡的总数目n 输出:满足问题的解的数目k,公鸡,母鸡,小鸡的只数g[ ],m[ ],s[ ] 1. void chicken_question(int n,int k,i

文档评论(0)

jiupshaieuk12 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档