算法时间复杂度分析与集合操作实现.pdfVIP

算法时间复杂度分析与集合操作实现.pdf

  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文档。上传文档
查看更多

(2)2n

当n=1时,程序步数为2

当n1时,c(n)=c(n-1)+2=c(n-2)+4=...c(1)+2*(n-1)=2n

1.13

(1)判断n是否为素数,O(n)

n

i!2

(3)求解,O(n)

i=1

(4)intfun(intn)

{

inti=1,s=1;

while(sn)

s+=++i;

returni;

}

设执行k次循环,最后s=1+2+3+k+1=(k+1)*(k+2)/2=n时,

循环,则k=O(n),即T(n)=O(n)

(6)输出n*n乘法表,O(n2)

补充题

(1)完成两个集合的差集,即完成A-B=A

voiddifference(LinearListintLA,LinearListintLB)

{

intn1=LA.Length();

(2)2n当n=1时,程序步数为2当n1时,c(n)=

c(n‑1)+2c(n‑2)+4=...c(1)+2*(n‑1)=2n

1.13n

(1)判断n是否为素数,O(n)(3)活动2

ii1!,O(n)(4)int

=

fun(intn){inti=1,s=1;而(sn)s+=++i;返回我;}设执行

k次循环,最后s=1+2+3+k+1(k+1)*(k+2)/2n时,退

出循环,则k=O(n),即T(n)=O(n)(6)输出n*n乘法表,

O(n2)

补充题

(1)完成两个集合的差集,即完成A‑B=Avoid

Difference(LinearListintLA,LinearListint

LB){intn1=LA.Length();

intx,k,i=1;

while(i=n1){

x=LA.getData(i);//在LA中取一元素

k=LB.Search(x);//在LB中搜索它

if(k!=0)//若在LB中找到

{LA.Remove(i,x);n1--;}//在LA中删除

elsei++;

}

}

(2)完成两个有序表的合并,即完成A+B=C

voidunion(LinearListintLA,LinearListint

LB,LinearListintLC)

{inti=1,j=1,k=0;

intx,y;

LC.clear();

m=LA.length();

n=LB.length();

while(i=mj=n)

{

x=LA.getData(i);

y=LB.getData

文档评论(0)

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

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

1亿VIP精品文档

相关文档