9.1 渐进复杂性-第九章 算法设计与分析.pptVIP

9.1 渐进复杂性-第九章 算法设计与分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章 算法设计与分析 本章学习的主要内容 第9.1节??渐进复杂性 第9.2节 分治法? 第9.3节 贪心法 第9.4节 动态规划法 第9.5节 回溯法 第9.5节 分支限界法 第9.1节 渐进复杂性 假设T(n)是算法A的复杂性函数。 通常T(n)有比较多的项, 例如:T(n)=3n2+nlog(n)+7 人们希望将T(n)简化,提出了渐进复杂性的概念。 渐进意义下的记号 O渐进的定义(上界) ?渐进的定义(下界) ?渐进的定义 o渐进的定义 如何确定两个函数之间的关系 常见的算法时间复杂度 O渐进的定义(上界) 如果存在正的常数C和自然数N0,使得当N? N0时有f(N)?C.g(N),则称函数f(N)当N充分大时有上界,且g(N)是它的一个上界, 记为f(N)=O(g(N))。 例如: (1)f(N)=2N2+11N-10, g(N)=N2 常数C = 3, N0 = 11,当N N0 , f(N) ?3g(N), 因此2N2+11N-10 =O(N2) 可以理解为:f(N)的上界是N2级别的。 (2)f(N)=N-1, f(N)=O(N) 可以理解为:f(N)的上界是N级别的。 O的性质 (1)O(f)+O(g)=O(max(f,g)) (2)O(f)+O(g)=O(f+g) (3)O(f)O(g)=O(f.g) (4)如果g(N)=O(f(N)), 则O(f)+O(g)=O(f) (5)O(C.f(N))=O(f(N)),C是一个正常数 (6)f(N)=O(f) 性质(2) O(f)+O(g)=O(f+g)的证明 证明:设F(N)=O(f),G(N)=O(g),则根据O的定义有: 存在常数C1和自然数N1,使得当N ?N1,有F(N)?C1.f(N) 存在常数C2和自然数N2,使得当N ?N2,有G(N)?C2.g(N) 令C3=max{C1, C2}, F(N)?C1.f(N) ?C3.f(N) G(N)?C2.g(N) ?C3.g(N) 当N ?max{N1,N2}, F(N)+G(N) ?C3.(f(N)+g(N)) F(N)+G(N)=O(f+g), 即O(f)+O(g)=O(f+g) 返回 ?渐进的定义(下界) 如果存在正的常数C和自然数N0,使得当N? N0时有f(N) ? C.g(N),则称函数f(N)当N充分大时有下界,且g(N)是它的一个下界,记为f(N)= ?(g(N))。 例如:f(N)=2N2+11N-10 g(N)= N2, f(N)= ?(g(N))= ?(N2) 常数C = 1, N0 = 1,当N N0 , f(N) ? c.g(N), 因此2N2+11N-10 = ?(N2) 返回 ?渐进的定义 f(N)= ?(g(N))当且仅当f(N)=O(g(N))且f(N)= ?(g(N)),我们称f(N)与g(N)同阶。 例如:2N2+11N-10= ? (N2) 返回 o渐进的定义 如果对于任意给定的?0,都存在N0,使得当N?N0时有f(N)/g(N) ?,则称函数f(N)当N充分大时的阶比g(N)低,记f(N)=o(g(N)) 例如:2N2+11N-10=o(N3) 当N100, 2N2+11N-10 ?3N2 任意给定的?0, 当N3/?,有3N2 ? .N3 取N0=max(100, 3/? +1),当N?N0, 2N2+11N-10 3N2 ? .N3 返回 如何确定两个函数之间的关系 对于下列各组函数f(n) 和g(n) ,确定 f(n)= O(g(n)) 或 f(n)=Ω(g(n)) 或 f(n)=θ(g(n)) 并简述理由。 (1)f(n)= log(n2) ; g(n)=log(n)+5 (2) f(n)= log(n2) ; g(n)=n1/2 (3) f(n)=n ; g(n)=log2n (1)f(n)= log(n2);g(n)=log(n)+5 (2)f(n)= log(n2) ; g(n)=n1/2 (3)f(n)=n ; g(n)=log2n 结论: 返回 常见的算法时间复杂度

文档评论(0)

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

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

1亿VIP精品文档

相关文档