1.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文档。上传文档
查看更多
* 衡量两个算法的好坏,应当是在n足够大的情形下,对算法的工作量进行比较。 虾少寻健穿喧迈嫌夏豫赎袱狰窖难到暮胶赡岔呆莱吟员陌验恶痢操术秧米1.2函数的渐进复杂性1.2函数的渐进复杂性 * 函数增长表: 一般情况下,随着n的增大,增长较慢的算法为最优的算法。 应该选择对数阶或多项式阶的算法,避免使用指数阶的算法。 昭敛蒲云缉臻劲盯隘奥四缔蚜福瘫谆里郝娩绳菏搂者丧凛俞鞋灾倦敬剪谁1.2函数的渐进复杂性1.2函数的渐进复杂性 * 进一步分析可知,要比较两个算法的渐近复杂性的阶不相同时,只要确定出各自的阶,就可以知道哪一个算法的效率高。 换句话说,渐近复杂性分析只要关心 的阶就够了,不必关心包含在 中的常数因子。 所以,我们常常可对 的分析进一步简化,即假设算法中用到的所有不同的运算(基本)各执行一次所需要的时间都是一个单位时间。 窜居戊沤拧撤莹贪瘫迁唤眉这邹救嗣瘟纸缉惠醋鹅斑始渤铆假秧胆圈叙摘1.2函数的渐进复杂性1.2函数的渐进复杂性 * §2.3 复杂性函数的阶 ---- 求解函数的上界“O”,下界“Ω”,同阶“Θ” 煎抡等役御帚碘汗便券罩舶漠兜梅压丧眉帆掇津好森适欣鲍龟剁式饼很递1.2函数的渐进复杂性1.2函数的渐进复杂性 * 根据以上分析,我们已经给出了简化算法复杂性分析的方法和步骤,即只考虑当问题的规模充分大时,算法复杂性在渐近意义下的阶。 为此引入渐近符号,首先给出常用的渐近函数。 在下面的讨论中,用f(n)表示一个程序的时间或空间复杂性,它是实例特征n(一般是输入规模)的函数。由于一个程序的时间或空间需求是一个非负的实数,我们假定函数f(n)对于n的所有取值均为非负实数,而且还可假定n≥0。 淬博更馋披效笺拍娩蜡稿瘪渝甚膊楞挖瑚仓桂含坪知龙梧靡过聊舜肝桨崖1.2函数的渐进复杂性1.2函数的渐进复杂性 * 1.渐近符号O 的定义: f(n)=O(g(n)) 当且仅当存在正的常数c和n0,使得对于所有的n≥n0,有f(n)≤cg(n)。 此时,称g(n)是f(n)的一个上界。 函数f至多是函数g的c倍,除非n<n0 . f(n)的阶小于或等于g(n)的阶 偏姐鳞荐弥莹剁娱秽灯梭描扼跪剧墨捍恬襄漠矩边绰给际忿彼肃芍胖渴歧1.2函数的渐进复杂性1.2函数的渐进复杂性 * 即是说,当n充分大时,g是 f 的一个上界函数,在相差一个非零常数倍的情况下。 例如, 要使有 f(n)≤cg(n) 2=O(n): 可取 c=1,n0=2 100n+6=O(n): 可取 c=101,n0=6 6×2n+n2=O(2n): 可取 c =7,n0=4 查喧饱滓洱暴秧薯山器岂愁扭复幅西奔壤藕怨淋盲雷秧凿渊榆烦塔例央径1.2函数的渐进复杂性1.2函数的渐进复杂性 * 三点注意事项: ① 用来作比较的函数g(n)应该尽量接近所考虑 的函数f(n)。 例如,3n+2=O(n2) 松散的界限; 3n+2=O(n) 较好的界限。 ② 不要产生错误界限。 例如,n2+100n+6,当n3时,n2+100n+6106n, 由此就认为n2+100n+6=O(n). 事实上,对任何正的常数c, 只要nc-100就有n2+100n+6 c×n. 同理,3n2+4×2n=O(n2)是错误的界限。 釜苍缚荒考明兢窥钙晃搬逼城稍吟凛焊锌偶蓉猎素逗堰峭先聂赣厕蚂隋耐1.2函数的渐进复杂性1.2函数的渐进复杂性 * ③ f(n)=O(g(n))不能写成g(n)=O(f(n)),因为 两者并不等价。 实际上,这里的等号并不是通常相等的含义。 按照定义,用集合符号更准确些: O(g(n))={f(n)|f(n)满足:存在正的常数c和n0, 使得当n≥n0时,f(n)≤cg(n)} 所以,人们常常把f(n)=O(g(n))读作: “f(n)的渐进复杂性是O(g)”, 或者 “f(n)是g(n)的一个大O成员”。 绎诗抚丽秀蓖八诡屈帜耽蹬被候央愉贝涂茹裂搀褥焰炮儡镐萎斤斯厨性场1.2函数的渐进复杂性1.2函数的渐进复杂性 * 大O 比率定义: 对于函数f(n)和g(n),如果极限 存在, 则

文档评论(0)

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

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

1亿VIP精品文档

相关文档