算法设计与分析练习题_1.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计与分析练习题_1

算法设计与分析练习题 1. 仅使用Ο、Ω、Θ的定义,证明下列各式成立。 2 2 1) 5n – 6n = Θ(n ) 2) n!= Ο(nn) 2 n 2 n 3) 2n 2 + nlogn =Θ(n 2 ) n 2 3 4) i = Θ(n ) ∑ i=0 n 3 4 5) i = Θ(n ) ∑ i=0 n n 2 n 2 n ) n =Θ ( 6) + 6 * 2 3 6 2 3 7) n + 10 n =Θ(n ) 2. 下面哪些规则是正确的?为什么? 1) {f(n)=Ο(F(n)),g(n)=Ο(G(n))} → f(n)/g(n)=Ο(F(n)/G(n)) 2) {f(n)=Ο(F(n)),g(n)=Ο(G(n))} → f(n)/g(n)=Ω(F(n)/G(n)) 3) {f(n)=Ο(F(n)),g(n)=Ο(G(n))} → f(n)/g(n)=Θ(F(n)/G(n)) 4) {f(n)=Ω(F(n)),g(n)=Ω(G(n))} → f(n)/g(n)=Ω(F(n)/G(n)) 5) {f(n)=Ω(F(n)),g(n)=Ω(G(n))} → f(n)/g(n)=Ο(F(n)/G(n)) 6) {f(n)=Ω(F(n)),g(n)=Ω(G(n))} → f(n)/g(n)=Θ(F(n)/G(n)) 7) {f(n)=Θ(F(n)),g(n)=Θ(G(n))} → f(n)/g(n)=Θ(F(n)/G(n)) 8) {f(n)=Θ(F(n)),g(n)=Θ(G(n))} → f(n)/g(n)=Ω(F(n)/G(n)) 9) {f(n)=Θ(F(n)),g(n)=Θ(G(n))} → f(n)/g(n)=Ο(F(n)/G(n)) 3. 某算法的计算时间可用下面的递推关系式描述。试采用迭代的方式求解 该关系式,并用大写О表示解(要求给出详细的推导过程)。 a n=1,a 为常数 T (n)= 2T(n/2) + c*n n>1,c为常数 4.下面的算法是依据分治策略设计出来的,仔细阅读该算法回答下列问题 (行号是为了说明问题而设置,它不属于算法本身)。 行号 Void ABC(int w[],int n,int &p,int &q) { 1 //w[0:n-1]中存放了n个整数。p,q是用于返回结果的两个变量 2 if(n<1) return false; 3 if(n 1) { p = q = 0;return true;} 4 int s; 5 if(n%2) { p = q = 0;s = 1;} 6 else { 7 if(w[0]>=w[1]) { p = 1;q = 0;} 8 else { p = 0;q = 1;} 9 s = 2; 10 }; 11 for(i=s;i<n;i+=2) { 12 if(w[i]>w[i+1]) {if(w[i]>w[q]) q=i;if(w[i+1]<w[p]) p=i+1;} 13 else{if(w[i+1]>w[q]) q=i+1;if(w[i]<w[p]) p=i;} 14 };//for 15 return t

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档