- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 算法效率分析基础;正确性
工作量
空间用量
简单性
最优型;顺序查找:
SequentialSearch(A[0..n-1], x)
//输入:数组A[0..n-1],和查找关键字x
//输出:返回第一个匹配x 的元素下标
//如果没有匹配的,返回-1
i=0;
while in and A[i]≠ x do
i=i+1;
If in then return i
else return -1;
;2.1 分析框架;一个算法好不好体现在运行该算法所需要的计算机资源的多少上
所需资源越少,该算法越好;
计算机最重要的资源是
时间和空间
算法分析对算法利用这两种资源的效率做研究
时间效率:指出正在讨论的算法运行得有多快;
空间效率:关心算法需要的额外空间。
研究实验告诉我们,对于大多数问题来说,我们在速度上能够取得的进展要远大于在空间上的进展,
所以我们把主要精力集中在时间效率上。;;建立一个算法时间效率的分析框架
对于输入规模为n的算法
统计基本操作执行次数C(n),来对其效率进行度量。
在某个特定计算机上的某个算法程序的运行时间
T(n)≈copC(n)
;对下面的三个时间效率函数表达式,
哪一个效率高?
C1(n)=n
C2(n)=n3
C3(n)= 10n
n=1
1 1 10
n=2
2 8 100
n=3
3 27 1000
n=非常大 ;2.1.3增长次数(增长幅度)
特别考虑大规模的输入要强调执行次数的增长次数呢?这是因为小规模输入在运行时间上差别不足以将高效的算法和低效的算法法区分开来。
;
;2.1.4 算法的最优、最差和平均效率
一个算法的最差效率是指当输入规模为n时,算法的最坏情况下的效率。这时,相对于其他规模为n的输入,该算法的运行时间最长。
为什么要考虑最坏效率?
提供了对任何规模为n的实例,算法运行的上界Cworst(n)
; 一个算法的最优效率是指当输入规模为n时,算法在最优情况下的效率。这时,与其它规模为n的输入相比,该算法运行得最快。
然而,无论是最差效率分析还是最优效率分析都不能提供一种必要的信息:在“典型”或者“随机”输入的情况下, 一个算法会具有什么样的行为。这正是平均效率试图提供给我们信息。 ;算法计算复杂度的定义;2.1.5 分析框架概要
算法的时间效率和空间效率都用输入规模的函数进行度量。
我们用算法基本操作的执行次数来度量算时间效率。通过计算算法消耗的额外存储单元的数量来度量空间效率。
在输入规模相同的情况下,有些算法的效率会的显著差异。对于这样的算法,我们需要区分最差效率,平均效率和最优效率。
本框架主要关心,当算法的输入规模趋向于无限大的时候,其运行时间(消耗的额外空间)函数的增长次数。
;复杂度函数的阶;例题;注意;2.2.5渐进符号的有用特性
定理 如果t1(n) ∈O(g1(n))
并且t2(n) ∈O(g2(n)), 则
t1(n)+ t2(n)∈O(max{g1(n), g2(n)}) (对于?和Θ符号,类似的断言也为真)
对于两个连续执行部分组成的算法,应该如何应用这个特性呢?它意味着该算法的整体效率是由具有较大的增长次数的部分所决定的,即它的效率较差的部分.;2.2.6 利用极限比较增长次数
虽然符号O, ?和Θ的正式定义对于证明它们的抽象性质是不可缺少的,但我们很少直接用它们来比较两个特定函数的增长次数。有一种较为简便的比较方法,它是基于对所计论的两个函数的比率求极限。有3种极限情况会发生:
;2.2.7基本的效率类型
;关于渐进时间效率:;2.3非递归算法的复杂度分析;算法分析例题;例1 考虑从n个元素的列表中查找元素最大值的问题. 假设列表是用数组实现的。
MaxElement(A[0..n-1])
//求给定数组中最大元素的值
//输入:实数数组A[0..n-1]
//输出:A中最大元素的值
maxval←A[0];
for i←1 to n-1 do
if A[i]maxval
maxval←A[i];
return maxval;
;
MaxElement(
您可能关注的文档
- 第11章 建设项目总评估和后评估.ppt
- 第12章战略与结构.ppt
- 第13章 IT软件项目收尾管理.ppt
- 第13章国际战略和外交政策.ppt
- 第1章 资本运营概论.ppt
- 第1章IT项目管理基础.ppt
- 第1章__资本运营概论.ppt
- 第1章__建设工程项目管理概述.ppt
- 第1章_工程项目管理概述.ppt
- 第1章战略管理.ppt
- 2025年无人机低空医疗物资投放社会效益报告.docx
- 2025年再生塑料行业包装回收利用产业链重构研究.docx
- 《AI眼镜周边产品市场机遇:2025年终端销售与需求增长洞察》.docx
- 2025年坚果加工行业深加工技术突破与市场拓展策略报告.docx
- 2025年通信芯片行业技术竞争与未来趋势报告.docx
- 《2025年生鲜电商配送冷链事故分析与预防措施》.docx
- 《商业航天融资新趋势2025民营卫星企业资本涌入估值分析市场动态》.docx
- 2025年能源绿色健康行业创新技术与市场应用报告.docx
- 2025年无人机低空医疗救援通信方案分析报告.docx
- 2025年烹饪机器人行业市场集中度分析报告.docx
我们是专业写作机构,多年写作经验,专业代写撰写文章、演讲稿、文稿、文案、申请书、简历、协议、ppt、汇报、报告、方案、策划、征文、心得、工作总结代写代改写作服务。可行性研究报告,实施方案,商业计划书,社会稳定风险评估报告,社会稳定风险分析报告,成果鉴定,项目建议书,申请报告,技术报告,初步设计评估报告,可行性研究评估报告,资金申请报告,实施方案评估报告
原创力文档


文档评论(0)