这个c程序的时间复杂度怎么是这样?

来源:百度知道 编辑:UC知道 时间:2024/05/27 18:54:53
教师这个时间复杂度怎么这么计算?

for(i=1;i<=n;i++)............n+1

for(j=1;j<=n;j++)............n*(n+1)

s++;.........................n*(n+1)-1

最后一句怎么是n*(n+1)-1,最后一句只执行了n^3次,怎么会是n*(n+1)-1
打错了,最后一句不是只执行了n^2次

1.时间复杂度为所有语句的频度之和。
2.时间复杂度是由嵌套在最深层的语句频度决定的。
查看了资料,觉得这个程序的时间复杂度应该是O(n^2)

for(i=1;i<=n;i++) { /* 执行n次 */
for(j=1;j<=n;j++) {
s++; /* 执行n*n次 */
}
}
可以试一下下面的代码:
int i = 1;
int j = 1;
int counti = 0;
int countj = 0;
for(i=1;i<=6;i++) {
counti ++;
printf("counti"+counti+"\n");
for(j=1;j<=6;j++) {
countj++;
printf("countj"+countj+"\n");
}
}