For循环里面嵌套有if语句如何求时间复杂度,比如if(){},是看()里语句的执行次数还是看{}里语句的执行

次数。

1、打开编译器,首先输入头文件,写好Main函数,定义好需要用到的变量,如下图所示。

2、然后写下第一个For循环,也是外围的for循环,为了便于观察结果,这里使用Printf函数在每次循环时,打印变量的值,如下图所示。

3、在外围For循环内部再写下一个for循环,其中的变量可以独立变化,也可以与外围for循环中的变量建立关系,如下图所示。

4、调试并运行程序,如下图所示。

5、此时,通过观察程序运行结果可以看到,外围for循环每进行一次,内部嵌套的for循环就要完整进行一轮,如下图所示。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-27
循环嵌套if
if(){},括号里是逻辑表达式,只有逻辑表达式成立的时候才会执行{}中的代码。
所以执行次数不一定一样。如果循环过程中()中逻辑表达式一直成立,两者都执行了一样的循环次数。如果循环执行时逻辑表达式不成立,{ }肯定不会执行。
所以,循环次数看()执行的次数。
第2个回答  2012-06-20
可定看的是{}里面的语句哈,你想想,if()中,括号中的句子是个判断句哈,条件成立就执行{}中的语句.我举个例子给你哦~
if(i!=0)
{while(i<n)
i=i+1;
}
你看,如果看(),复杂度是1,如果看{},复杂度是n,那么正确的当然是n了,明白了吧,希望我讲的清楚哦,你没看懂也可以继续提问哦~本回答被提问者和网友采纳
第3个回答  推荐于2018-05-30
都得看,只要有运算的地方,都得算上
比如for(i=0;i<N;i++)if(strlen(s[i])==10)puts(s[i]);这样的
strlen一次就是O(len),循环N次
其实复杂度就是O(∑leni)所有字符串长度总和本回答被网友采纳
第4个回答  2012-06-17
比如这么一种形式,就是按数字顺序进行的。
for (1;2;5)
{
if (3
{
4
}
}
相似回答