韩国两天一夜在哪看:数据结构中关于语句频度计算

来源:百度文库 编辑:高考问答 时间:2024/04/30 02:21:58
s=0
for(i=1;i<m;i++)
for(j=0;j<=i;j++)
s+=j;

求语句:s+=j;频度是多少?

这是2006年1月自学考试中的一题,不知谁有这套试卷的全部答案?
lwjt:
请问能把具体过程写一下吗?

lwjt给我的短消息:
我是这样算的~
当i=1时 for(j=0;j<=i;j++) 就执行2次 也即s+=j;执行2次
当i=2时 for(j=0;j<=i;j++) 就执行3次 也即s+=j;执行3次
同理推
当i=m-1时 for(j=0;j<=i;j++) 就执行m次 也即s+=j;执行m次
所以形成个等差数列,用公式代就得出结果了 也即[(m-1)*(2+m)]/2

[(m-1)*(2+m)]/2

j从0到i,语句执行次数为i+1,而i又从1到m-1,所以总次数为
(1+1)+(2+1)+.....+(m-1+1)
=2+3+......+m
=(m+2)(m-1)/2