- 1、本文档共90页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
算法设计与分析
2010.9
(ACM创新实验班);一、算法根底;时效性:实际问题往往都有时间要求。
例:国际象棋〔启发〕
数值天气预报
只有在要求的时间内解决问题才是有意义的。;2.算法分析根底
1)分析算法的目的:在解决同一问题的不同算法之间比较性能的好坏,从而运行好的算法,改进差的算法,防止无益的人力和物力浪费。对算法的性质作深入了解,从而可以进一步优化算法,让其更好地工作。
2)重要的假设和约定
计算机模型的假设
计算的约定:时间囿界于常数的运算和时间非囿界于常数的运算
工作数据集的选择:了解算法最好、最坏和平均等执行情况;3.事前分析:统计算法中各类运算的执行次数—频率计数,表示称为关于问题规模的形式简单的特征函数。
函数表达式的数量级〔阶〕:函数表达式中的最高次项的次数,是衡量频率计数的“大小”的一种测度。
限界函数:用频率计数函数表达式中的最高次项表示限界函数,记为:g(n),通常是关于n的形式简单的函数式,如:logn。
(事后测试);4.计算时间的渐近表示
算法时间/空间复杂度的限界函数常用的有三个:上界函数、下界函数、“均值”函数。定义如下:
记:算法的实际计算时间为f(n),计算时间的限界函数为g(n),其中,
n是问题规模的某种测度。
f(n)是与机器及语言有关的量。
g(n)是事前分析的结果,一个形式简单的函数,与频率计数有关、而与机器及语言无关。
;定义1.1〔上界函数〕如果存在两个正常数c和n0,对于所有的n≥n0,有|f(n)|≤c|g(n)|,那么记作f(n)=Ο(g(n))。
定义1.2〔下界函数〕如果存在两个正常数c和n0,对于所有的n≥n0,有|f(n)|≥c|g(n)|,那么记作f(n)=Ω(g(n))。
定义1.3〔“平均情况”〕如果存在正常数c1,c2和n0,对于所有的n≥n0,有c1|g(n)|≤|f(n)|≤c2|g(n)|,那么记作
;[定理1.1大O比率定理]对于函数f(n)和g(n),假设存在,那么f(n)=O(g(n)),当且仅当存在确定的常数c,有≤c。;算法时间复杂度的分类;限界函数的性质;用于估算复杂性阶的定理;定理:设d(n)、e(n)、f(n)和g(n)是将非负整数映射到非负实数的函数,那么
(1)如果d(n)是O(f(n)),那么对于任何常数a0,ad(n)是O(f(n));
(2)如果d(n)是O(f(n)),e(n)是O(g(n)),那么d(n)+e(n)是O(f(n)+g(n));
(3)如果d(n)是O(f(n)),e(n)是O(g(n)),那么d(n)e(n)是O(f(n)g(n));
(4)对于任意固定的x0和a1,nx是O(an);
(5)对于任意固定的x0,lognx是O(logn);
(6)对于任意固定的常数x0和y0,logxn是O(ny);
;4〕o,ω记号;O和o的区别;定义1.5ω记号
形式1:对任意正常数c,存在常数n0>0,使对所有的n≥n0,有c|g(n)|≤|f(n)|,那么记作:
f(n)=ω(g(n))。
形式2:假设那么记f(n)=o(g(n))。
例:n2/2=ω(n),但n2/2≠ω(n2);Ω和ω的区别;5.有三种常用的方法:
数学归纳法
反证法
反例法
;二、递归与递归式;递归是一种强有力的设计方法
与数学模型一致
表述简单、清晰、代码量少
可读性强、容易证明正确性
递归的问题:执行时间长、运行效率低,特别是占用空间多,容易造成系统栈的溢出。
主要原因:递归调用时有大量的现场保护与恢复操作,在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储,递归层次数过多容易造成栈溢出等。;3.怎么克服递归的效率问题?
——化递归为递推
递归:递归是一种从上至下的“分解求解“的过程,即不断地把大问题分解为小问题,直到小问题规模足够小,然后求解并进行递归返回和结果合并。——效率差!
递推:递推是一种从下往上的“合并求解“过程,即从解决小问题出发,记录小问题的答案,并根据已有的小问题的答案,把问题往大里扩展,“滚雪球”,直到到达大问题的规模为止。并通常用迭代〔循环〕的方式实现,而不是递归调用,一般认为效率上比递归好。;2.递归式及其求解;2)递归式的求解
求解递归式就是化简递归式,以得到形式简单的限界函数表示〔即O、Ω、Θ的表示〕。
您可能关注的文档
- 苏教版数学一年级下册《两位数加一位数(进位加)》PPT课件1.ppt
- 原因分析与解决方案报告-模板.doc
- 简洁明快ppt模板.pptx
- 英语:unit2-the-Olympic-games-Warming-up-and-reading课件(新人教版必修2)[1].ppt
- 单片机(汇编语言)秒表课程设计设计.docx
- 十字乡乡村学校少年宫简介.doc
- 同底数幂的乘法、幂的乘方、积的乘方.doc
- 卡罗塞尔卷取机介绍12-20.doc
- 经济学说史12-14章.ppt
- 细胞生物学实验技术二.ppt
- 2023年11月浙江省龙泉市教育系统2024年引进21名紧缺急需人才笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 作风建设学习教育查摆问题清单及整改措施.docx
- 常见药物作用、禁忌及急救用药知识试卷.docx
- 2023年11月海南保亭黎族苗族自治县事业单位工作人员(第二批)73人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 常见护理技术操作并发症预防及处理措施知识试卷.docx
- 肠内营养患者护理相关问题及应对措施试卷.docx
- 中国PH与ORP通用传感器行业市场占有率及投资前景预测分析报告.pdf
- 中国PM2.5监测器行业市场占有率及投资前景预测分析报告.pdf
- 中国PID气体检测仪行业市场占有率及投资前景预测分析报告.pdf
- 中国PON光时域反射仪行业市场占有率及投资前景预测分析报告.pdf
文档评论(0)