中易网

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

答案:4  悬赏:10  
解决时间 2021-01-16 20:38
  • 提问者网友:欺烟
  • 2021-01-16 09:18
For循环里面嵌套有if语句如何求时间复杂度,比如if(){},是看()里语句的执行次数还是看{}里语句的执行
最佳答案
  • 二级知识专家网友:躲不过心动
  • 2021-01-16 09:40
都得看,只要有运算的地方,都得算上
比如for(i=0;istrlen一次就是O(len),循环N次
其实复杂度就是O(∑leni)所有字符串长度总和
全部回答
  • 1楼网友:第幾種人
  • 2021-01-16 12:35
比如这么一种形式,就是按数字顺序进行的。
for (1;2;5)
{
if (3
{
4
}
}
  • 2楼网友:玩家
  • 2021-01-16 12:19
可定看的是{}里面的语句哈,你想想,if()中,括号中的句子是个判断句哈,条件成立就执行{}中的语句.我举个例子给你哦~
if(i!=0)
{while(i<n)
i=i+1;
}
你看,如果看(),复杂度是1,如果看{},复杂度是n,那么正确的当然是n了,明白了吧,希望我讲的清楚哦,你没看懂也可以继续提问哦~
  • 3楼网友:独行浪子会拥风
  • 2021-01-16 10:50
循环嵌套if
if(){},括号里是逻辑表达式,只有逻辑表达式成立的时候才会执行{}中的代码。
所以执行次数不一定一样。如果循环过程中()中逻辑表达式一直成立,两者都执行了一样的循环次数。如果循环执行时逻辑表达式不成立,{ }肯定不会执行。
所以,循环次数看()执行的次数。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息