为了账号安全,请及时绑定邮箱和手机立即绑定

如下情况,我该如何求时间复杂度?

如下情况,我该如何求时间复杂度?

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

2 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

循环嵌套if
if(){},括号里是逻辑表达式,只有逻辑表达式成立的时候才会执行{}中的代码。
所以执行次数不一定一样。如果循环过程中()中逻辑表达式一直成立,两者都执行了一样的循环次数。如果循环执行时逻辑表达式不成立,{ }肯定不会执行。
所以,循环次数看()执行的次数。

查看完整回答
反对 回复 2023-04-23
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

都得看,只要有运算的地方,都得算上
比如for(i=0;i<N;i++)if(strlen(s[i])==10)puts(s[i]);这样的
strlen一次就是O(len),循环N次
其实复杂度就是O(∑leni)所有字符串长度总和

查看完整回答
反对 回复 2023-04-23
  • 2 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信