注册 登录
编程论坛 数据结构与算法

求助数据结构第一章,语句执行次数的问题,请高手赐教!

gaily 发布于 2011-12-05 23:04, 485 次点击
问题具体如下:
for(i=1;i<n;i++)
   for(j=i;j<=n;j++)
      x++;
求语句x++的执行频度?
书上的描述是n+(n-1)+(n-2)+...+3+2+1=n(n+1)/2,可是小弟搞不懂。假设令n=3,那么,当i=1时,j分别是(1,2,3)循环并执行x++;当i=2时,j分别是(2,3)循环并执行x++;j++为4时,跳出循环。
所以,小弟认为x++语句仅执行了5次,可以按照公式,却是6次。停在这里实在是想不通,还请各位不吝赐教,谢谢!还有这个公式:n+(n-1)+(n-2)+...+3+2+1=n(n+1)/2,怎么推理出来的呢?
1 回复
#2
彭晓腾2011-12-06 09:40
公式错了,应该是n+(n-1)+(n-2)+...+3+2=n(n+1)/2,当i=n-1时,语句频度为2,每次的语句频度应该是:n-i+1.
1