- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 2025年全国中小学校党组织书记网络培训示范班在线考试.docx VIP
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案.docx VIP
- 本量利分析在企业中的应用及改进.pptx VIP
- 夏季四防安全培训PPT.ppt VIP
- 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
- 2025年公开选拔中小学校长笔试试题含答案.docx VIP
- 选聘中小学校长笔试题含答案(精选).pdf VIP
- 2022年公开选聘中小学校长笔试题含答案 .pdf VIP
- 新解读《HJ T55-2000大气污染物无组织排放监测技术导则》最新解读.docx VIP
- 年总结的自我总结.docx VIP
文档评论(0)