实在不知道到哪里去问,就来这吧;初看数据结构,碰到个问题,请求大哥们帮忙

tailor2 2005-09-13 10:20:40
题目:设n为正整数,试确定下列各程序段中前置以记号@的语句的频度:(严蔚敏练习册上的题)
5. for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
for(k=1;k<=j;k++)
@ x+=delta;
}
}

6. x=n;y=0; //n是不小于1的常数
while(x>=(y+1)*(y+1))
{ @ y++;
}

1.9 假设n为2的乘幂,并且n>2,试求下列算法的时间复杂度及变量count的值(以n的函数形式表示)
int Time(int n)
{ count=0; x=2;
while(x<n/2)
{
x*=2; count++;
}
return (count)
}//Time

哪位大哥给看看,最好给写上解释,小弟这里谢谢啦

...全文
104 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaocai0001 2005-09-13
  • 打赏
  • 举报
回复
5.

最内层循环执行j (j=1...i)次
第二层循环执行i (i=1...n)次
所以对外层某个i,内两层的循环次数是:
1+2+3+ ... + i = (i+1)*i/2
现在i= 1...n
所以执行次数是
∑(i+1)*i/2 (i=1..n) = n(n+1)(n+2)/6

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧