永发信息网

时间复杂度 for(i=1;i<=n;i++) 这个语句为什么执行的是n次,不是n+1次啊,多重循环每个语句执行次数咋看

答案:3  悬赏:60  手机版
解决时间 2021-11-10 15:35
  • 提问者网友:辞取
  • 2021-11-09 19:08
时间复杂度 for(i=1;i<=n;i++) 这个语句为什么执行的是n次,不是n+1次啊,多重循环每个语句执行次数咋看
最佳答案
  • 五星知识达人网友:野味小生
  • 2021-11-09 19:25
第一个分号前的是初始条件,也就是说一开始设置i=1然后进入第二个分号判断,正确了就执行下面的语句,执行完下面的语句之后再执行第二个分号后的语句,如果第二个分号前的条件不符合,就不会执行下面的语句和第二个分号后的语句。第一次:i=1,下面执行一次,整个括号里的语句都被执行了一次;第二次:i=2,如果n〉=2则下面的语句和括号的语句都会被完整地执行一次,如果n=1,这个语句就不会被完整地执行。可见,当n=1时这个语句只执行了1次,同理,当n=2时这个语句只会被执行到第2次,第三次就不符合第二个分号前的条件了然后语句就不能被完整地执行,以此类推,这个语句只会被执行n次。
全部回答
  • 1楼网友:北方的南先生
  • 2021-11-09 21:13
i的初始值为1。
当中间的条件为<=时,执行次数为 n-i的初始值+1
当中间的条件为 <时,执行次数为 n-i的初始值
  • 2楼网友:底特律间谍
  • 2021-11-09 20:37
从1 到 n 不是 0到N
还有时间复杂度 是不需要怎么准确的
比如 2*n^2 时间复杂度 表示成 n^2 就可以了 常数可以省略
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯