- 1、本文档共390页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
算法设计与分析
课程目的
n对算法设计与分析进行一个较为全面的
介绍,使大家具有进行简单的算法设计
与分析的基本能力
先修课程
n程序设计语言n离散数学
n数据结构n概率论
n高等数学
2
主要内容介绍
n第1章算法引论
n第2章递归与分治策略
n第3章动态规划
n第4章贪心算法
n第5章回溯法
n第6章分支限界法
n第7章概率算法
n第8章NP完全性理论
3
教学用书
n王晓东
n算法设计与分析
n清华大学出版社
4
教学参考书
nT.Cormen,C.
Leiserson,R.Rivest,
andC.Stein
nIntroductionto
Algorithms,2ndEd.
nMITPressand
McGraw-HillBook
Company,2001
5
nD.E.Knuth
nTheArtof
Computer
Programming,Vol.
1and3,Third
Edition,
nAddisonWesley,
1997.
6
第1章算法引论
1.1算法与程序
一.算法在计算机科学中的重要地位
n程序=算法+数据结构
7
二.算法的基本概念
1.定义.一个有穷规则的有序集合称为一个算法。
2.算法的特征.
n输入:有零个或多个外部量作为算法的输入。
n输出:算法产生至少一个量作为输出。
n确定性:组成算法的每条指令清晰、无歧义。
n有限性:算法中每条指令的执行次数有限。
n可行性:执行每条指令的时间也有限。
8
例.求正整数m、n的最大公因数。
解一.
(1)求余数:用m除以n,得余数r(0≤r﹤n)。
(2)判断余数:若余数r=0,输出n,结束。
否则,转(3)。
(3)更新被除数和除数:m←n,n←r,转(1)。
9
解二.
开始
输入m、n
r=m%n
是
r=0?输出n
否
m←n,n←r
10
解三.
Euclid(intm,intn)
{intr;
while(n!=0)
{r=m%n;
m=n;
n=r;
}
printf(“%d”,m)
}
11
3.算法的描述方法.
(1)自然语言
(2)流程图
(3)程序设计语言
12
三.算法设计与分析的步骤
1.问题的描述.
2.模型的选择.
3.算法设计和正确性证明.
4.算法的分析.
5.算法的实现.
13
1.2算法复杂性分析
文档评论(0)