- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
W(n)称为算法A的最坏情形( Worst Case )时间复杂度。 类似的,还可以定义最好情形( Best Case)时间复杂度, B(n) = MIN { t(I) }---最好与最坏复杂度有何用,何时用? I∈Dn 平均复杂度何时用 1.4.5 平均情形和算法的期望复杂度 设算法A的输入为I∈Dn的概率为P(I),则 其中P(I)满足 为实例输入I出现的概率, t(I)为算法A完成实例I的耗费值(即基本操作次数)。 期望复杂度比最坏情形复杂度更好的刻画了算法的性能,但是,由于Dn一般很大,P(I)和t(I)较难计算,因此,平均情形的复杂度分析比较难。例如: 在数组L[1,…,n]中搜索,求使L[j] = X的位置j。 算法1.5 顺序搜索算法 SeqSearch 因为L[1,…,n]长度为n,不同的输入实例由X的值决定,实例集Dn由下列实例组成: (1) X在L中,共有n种情况:I1, …, In ,Ii表示X = L[i] ( i = 1,…,n ); (2) X不在L中,这时X有许多可能值,把它们统记为In+1 。 因为当 X = L[k] 时,t(Ik) = k,( k = 1,…,n),X不在L中时,t(In+1) = n。 这时W(n)容易计算: W(n) = MAX { t(Ik) | k = 1, 2, …, n, n+1 } = n 。 但计算A(n)则应首先设定I在Dn中的分布: 设X在L中的概率为q,故X不在L中的概率为 1 - q,假定X在L中,它等于L的n个元素是等可能的,即P(Ik) = Pk = q / n , ( k = 1,…,n ), P(In+1) = Pn+1 = 1 - q , 当q = 1,即已知X在L中,A(n) = (n+1)/2,q = 1/2,即X有一半可能在L中,A(n) = 3n/4 + 1/4。也就是说,在上面的假设条件下,我们的顺序搜索的平均代价大约是n/2次比较和3n/4次比较。 1.4.6 复杂度函数的表示 各种复杂度函数的表示方法大致可按表达的精确程度分为下面的三个等级: (何种情况下用相应的复杂度函数) 1.解析表达式。 用解析表达式刻画复杂度函数是最精确的表达方式。例如 ·求n元中之最大元算法MaxElement的复杂度为 T(n) = W(n) = A(n) = n – 1 。 ·顺序搜索算法的最坏情形时间复杂度为 W(n) = n ; 在指定分布条件及 q = 1情形下的期望时间复杂度为 A(n) = ( n + 1)/2 。 2.阶(Order)表达式。 为了简化算法复杂度分析的方法,往往只需计算当问题规模较大时算法的渐进复杂度的阶。 定义1.1 称(复杂度)函数T(n)是O(f(n))的,即 T(n) = O(f(n)),如果存在常数c 0与n0 ,当n n0 时有T(n)≤cf(n) 。例如: T1(n) = (n + 1) / 2 = O(n) , T2(n) = 3n2 + 4n + 5 = O(n2) 定义1.2 称(复杂度)函数T(n)是Ω(f(n))的,即 T(n) = Ω(f(n)),如果存在常数c 0与n0 ,当n n0 时有T(n) ≥cf(n) 。 例如: T1(n) = (n + 1) / 2 = Ω(n) , T2(n) = 3n2 + 4n + 5 = Ω(n2) 定义1.3 称(复杂度)函数T(n)是θ(f(n))的, 即T(n) = θ(f(n)),如果存在常数c1, c2 0与n0 ,当n n0 时有c1f(n)≥T(n)≥c2f(n) 。 例如: T1(n) = (n + 1) / 2 = θ(n) , T2(n) = 3n2 + 4n + 5 = θ(n2) 显然,如果T(n) = O(f(n))且T(n) = Ω(f(n)), 则T(n) = θ(f(n)) 。 3.多项式函数和指数函数。 多项式函数指T(n)为自变量n的多项式函数,例如T1(n)=n/2+1/2,T2(n)=3n2+4n+5等。 而指数函数如T3(n) = 2n + 5,T4(n) = 3n/2 – 8等等,自变量n出现在指数部分。这两类函数都是单增函数,但指数函数的增长速度要比多项式函数快得多。三种复杂度指标由细至粗, 对于一个新问题首先可用最后一种(是否为多项式) 1.5 算法的研究与Moore定律 摩尔(Moore)定律:计算机处理器的运算速度每十八个月要翻一番。
您可能关注的文档
最近下载
- 课题研究组内分工.docx VIP
- 门面房改棋牌室租房合同7篇.docx
- 广东省珠海市香洲区珠海市2025年九年级上学期月考数学试题附答案.docx VIP
- 中国近十年宏观经济政策的得与失.docx VIP
- 2024语文九年级上册《第五单元》大单元教学设计.docx VIP
- 普通高中化学课程标准(2017年版2020年修订).pdf VIP
- HP Color LaserJet Pro M154 打印机快速说明书.pdf VIP
- 《相似三角形的判定与性质复习课》PPT.ppt VIP
- HP Color LaserJet Pro M154 打印机设置说明书.pdf VIP
- 银行数字化运营知识测试试卷及答案解析.doc
文档评论(0)