例 x=1; for (i=1;i<=n;i++) for (j=1;j<=i;j++) for (k=1;k<=j;k++) x++;

T(n)=[n(n+1)(2n+1)/6+n(n+1)/2]/2这个时间复杂度是怎么算的,要详细过程,谢谢!... T(n)=[n(n+1)(2n+1)/6+n(n+1)/2]/2
这个时间复杂度是怎么算的,要详细过程,谢谢!
展开
 我来答
帐号已注销
2021-09-29 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:168万
展开全部

语句2 for (j=1;j<=i;j++)

语句3 for (k=1;k<=j;k++) x++

第一次: 语句3 执行1次 因为语句2已经满足条件跳出循环(j=1;i=1)

第二次: 语句3执行1+2次 因为语句2 (j=1;i=2)

第三次: 语句3执行1+2+3次 

所以T(n)=1+(1+2)+(1+2+3)+(1+2+3……+n)

=n+2(n-1)+3(n-2)+n(n-(n-1))

=n+2n+3n+n*n -2-6--n(n-1)

=n(n+1)*n/2-(1*1+2*2+3*3+n*n-(1+n)n/2)

=n(n+1)*n/2-(n(n+1)(2n+1)/6-(1+n)n/2)

化简最后为

T(n)=n*(n+1)*(n+2)/6; 化开来就是

T(n)=[n(n+1)(2n+1)/6+n(n+1)/2]/2

形式:

把相等的式子(或字母表示的数)通过“=”连接起来。

等式分为含有未知数的等式和不含未知数的等式。

例如:

x+1=3——含有未知数的等式;

2+1=3——不含未知数的等式。

需要注意的是,个别含有未知数的等式无解,但仍是等式,例如:x+1=x——x无解。

匿名用户
2011-09-25
展开全部

这个从最里层循环开始计算:

最内层是 k=1-j

然后是    j=1-i

然后是   i=1-n;

这样有等式 T(N)为图片所示,然后就是数学计算了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
311800c
推荐于2017-10-09 · 超过26用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:23.8万
展开全部
语句2 for (j=1;j<=i;j++)
语句3 for (k=1;k<=j;k++) x++;
第一次: 语句3 执行1次 因为语句2已经满足条件跳出循环(j=1;i=1)
第二次: 语句3执行1+2次 因为语句2 (j=1;i=2)
第三次: 语句3执行1+2+3次 。。。。。。。
第n次: 语句3执行1+2+3……+n ..........
所以T(n)=1+(1+2)+(1+2+3)……+(1+2+3……+n)
=n+2(n-1)+3(n-2)……+n(n-(n-1))
=n+2n+3n……+n*n -2-6- ……-n(n-1)
=n(n+1)*n/2-(1*1+2*2+3*3……+n*n-(1+n)n/2)
=n(n+1)*n/2-(n(n+1)(2n+1)/6-(1+n)n/2)
化简最后为
T(n)=n*(n+1)*(n+2)/6; 化开来就是
T(n)=[n(n+1)(2n+1)/6+n(n+1)/2]/2
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
2zhangjinyu
2011-09-25
知道答主
回答量:33
采纳率:0%
帮助的人:3.9万
展开全部
这个从最里层循环开始计算:
最内层是 k=1-j
然后是 j=1-i
然后是 i=1-n;
这样有等式 T(N)为图片所示,然后就是数学计算了。 语句2 for (j=1;j<=i;j++)
语句3 for (k=1;k<=j;k++) x++;
第一次: 语句3 执行1次 因为语句2已经满足条件跳出循环(j=1;i=1)
第二次: 语句3执行1+2次 因为语句2 (j=1;i=2)
第三次: 语句3执行1+2+3次 。。。。。。。
第n次: 语句3执行1+2+3……+n ..........
所以T(n)=1+(1+2)+(1+2+3)……+(1+2+3……+n)
=n+2(n-1)+3(n-2)……+n(n-(n-1))
=n+2n+3n……+n*n -2-6- ……-n(n-1)
=n(n+1)*n/2-(1*1+2*2+3*3……+n*n-(1+n)n/2)
=n(n+1)*n/2-(n(n+1)(2n+1)/6-(1+n)n/2)
化简最后为
T(n)=n*(n+1)*(n+2)/6; 化开来就是
T(n)=[n(n+1)(2n+1)/6+n(n+1)/2]/2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
纯金小钢镚
2011-09-25 · TA获得超过5190个赞
知道大有可为答主
回答量:1585
采纳率:100%
帮助的人:1307万
展开全部
当n=1时,复杂度是1;当n=2时,复杂度是(1+(1+2));当n=3时,复杂度是(1+(1+2)+(1+2+3));找到通项an=S(n(1+n)/2),注意an中n为下标,S为求和,根据平方求和公式和等差数列公式可以得到an=[n(n+1)(2n+1)/6+n(n+1)/2]/2,也就是Tn
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式