关于一道数据结构计算时间复杂度的问题

问题描述:

关于一道数据结构计算时间复杂度的问题
例题如下:
FOR i:=1 TO n DO ----------{n+1}
FOR j:=1 TO n DO ----------{n*(n+1)}
[ c[i,j]:=0; -------------{n的2次方}
FOR k:=1 TO n DO ----------{n的2次方*(n+1)}
c[i,j]:=c[i,j]+a[i,k]*b[k,j] --------{n的3次方}
]
[解] T(n)=2*n的3次方 +3*n的2次方 +2*n+1
请问程序第一行的FOR i:=1 TO n DO 为什么是n+1而不是n呢?还有第二行为什么是n*(n+1)呢?到底哪层循环是n?哪层循环是n+1?
1个回答 分类:综合 2014-11-03

问题解答:

我来补答
n+1次是最后跳出循环体时的比较..不算进循环体.
然而后面变成n,因为循环n次..(不是n+1)
都个循环次都是n..
FOR i:=1 TO n DO ----------{n+1} //对下行来说,只有n次.
FOR j:=1 TO n DO ----------{n*(n+1)}
 
 
展开全文阅读
剩余:2000
上一页:一道物理提题
也许感兴趣的知识