2算法第二章导引.pptVIP

  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文档。上传文档
查看更多
O性质 对于非负的f(n)和g(n),根据定义2.1,有如下性质: 1.O(f(n))+O(g(n)) = O(max(f(n), g(n)) ; 2.O(f(n))+O(g(n)) = O(f(n)+g(n)) ; 3.O(f(n)) O(g(n)) = O(f(n) g(n)) ; 4.如果g(n) = O(f(n)) ,则O(f(n))+O(g(n)) = O(f(n)) ; 5.O(cf(n)) = O(f(n)) ,其中c是一个正的常数; 6.f(n) = O(f(n))。 定理2.1 若A(n)=amnm+…+a1n+a0是一个m次多项式, 则A(n)=O(nm)。 证明:取n0=1,当n≥n0时 由A(n)的定义和不等式关系|A+B| ≤ |A|+|B| 有 |A(n)| = |amnm+…+a1 n+a0 | ≤ |am|nm+…+|a1 | n+|a0 | = (|am|+|am-1|/n …+|a0 |/nm ) nm ≤ (|am|+|am-1|…+|a0 |) nm 取 c= |am|+|am-1|…+|a0 |,有|A(n)| ≤c nm 即:A(n)=O(nm),定理得证。 定理2.1表明,变量n的最高阶数为m的任一多项式,与nm同阶。因此一个计算时间为m阶多项式的算法,其时间都可以用O(nm)来表示。 若一个算法有数量级为c1nm1,c2nm2,… cknmk的 k个语句,则算法的数量级及计算时间就是 c1nm1+c2nm2+…+cknmk=O(nm) 其中 m=max{mi|1≤ i≤ k} 定理2.1:若A(n)=amnm+…+a1n+a0是一个m次多 项式,则A(n)=O(nm)。 数量级对算法有效性的影响P25-26 从计算时间上算法可以分为两类: 多项式时间算法(polynomial time algorithm): 用多项式来对其计算时间限界的算法 O(1)O(logn)O(n)O(nlogn)O(n2)O(n3) 指数时间算法(exponential time algorithm): 计算时间用指数函数限界的算法 O(2n)O(n!)O(nn) 不同时间复杂性函数的对比 定义2.2 当n充分大时,f(n)有下界,一个常数倍的g(n)是f(n)的一个下界。 f(n)的阶不低于g(n)的阶。 在确定f(n)的下界时,总是试图求出最大的g(n)。 有关证明中,找出c和n0是关键。 如果存在两个正常数c和n0,对于所有的n≥n0, 有|f(n)| ≥ c|g(n)|,则记作:f(n)=Ω(g(n))。 ?性质 对于非负的f(n)和g(n),根据定义2.2,有如下性质: 1. ?(f(n))+ ?(g(n)) = ?(min(f(n), g(n)) ; 2. ?(f(n))+ ?(g(n)) = ?(f(n)+g(n)) ; 3. ?(f(n)) ?(g(n)) = ?(f(n) g(n)) ; 4.如果g(n) = ?(f(n)) ,则?(f(n))+ ?(g(n)) = ?(f(n)) ; 5. ?(cf(n)) = ?(f(n)) ,其中c是一个正的常数; 6.f(n) = ?(f(n))。 定义2.3 一个算法的f(n)=Θ(g(n))意味着该算法在最好和最坏情况下的计算时间就一个常数因子范围内而言是相同的。 如果存在正常数c1,c2和n0,对于所有的n≥n0,有 c1|g(n)|≤ |f(n)|≤ c2|g(n)|,则记作:f(n)=Θ(g(n))。 渐近表示函数的若干性质 传递性 f(n)= ?(g(n)), g(n)= ?(h(n)) ? f(n)= ?(h(n)); f(n)= O(g(n)), g(n)= O (h(n)) ? f(n)= O (h(n)); f(n)= ?(g(n)), g(n)= ? (h(n)) ? f(n)= ?(h(n)); 反身性 f(n)= ?(f(n)); f(n)= O(f(n)); f(n)= ?(f(n))。 常用的整数求和公式 通式: 一些数学证明方法 直接证明:P?Q 间接证明: 反证法 举反例 数学归纳法: 初始归纳:i=1 结论成立; 归纳假设:若i=n-1时成立; 归纳证明:证明i=n时成立。 作时空性能分布图 事后测试是在对算法进行设计、确认、事前分析和调试之后要做的工作,与所用计算机密切相关。 以时间分布图为例: 算法时间的准确测量 分布图的做法-数据集与时间复杂度有关 时钟不准确

文档评论(0)

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

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

1亿VIP精品文档

相关文档