| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 526 人关注过本帖
标题:[求助]请问这个题的时间复杂度是多少?
只看楼主 加入收藏
konggoo
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-6-30
收藏
 问题点数:0 回复次数:1 
[求助]请问这个题的时间复杂度是多少?

main()
{ int i, j, k;
int a[7],b[7][7],c[14][7],f;
a[1]=1; a[2]=2; a[3]=5; a[4]=10; a[5]=20; a[6]=50;
f=a[1]+a[2]+a[3]+a[4]+a[5]+a[6];
printf("%d ",f);
for(i=1;i<=6;i++)
{ printf("%d ",a[i]);
printf("%d ",f-a[i]);
for(j=i+1;j<=6&&i<6;j++)
{ b[i][j]=a[i]+a[j];
printf("%d ",b[i][j]);
printf("%d ",f-b[i][j]);
for(k=j+1;k<=6&&j<6;k++)
{ c[i+j][k]=b[i][j]+a[k];
printf("%d ", c[i+j][k]);
}

}
}
}
[求助]请问这个题的时间复杂度是多少?能给我解释一下吗?

搜索更多相关主题的帖子: int 时间 main 
2006-07-06 08:50
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
第一个for循环:如果是第一个for循环中"i<=n" 则第一个for循环要执行n次
第二个for和第三个循环:到第二个循环执行第一次时第三个for循环执行n次;第二次时第三个for循环执行n-1次...当第二个for循环结束时一共执行1+2+3+...+n=n(n+1)/2次

所以一共执行 n*n(n+1)/2 即O(n)=n^3

而对于上面这道题循环次数时已知的所以应该时常量阶 即O(n)=1

[此贴子已经被作者于2006-7-6 20:34:06编辑过]


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-07-06 20:33
快速回复:[求助]请问这个题的时间复杂度是多少?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023230 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved