【问题标题】:Complexity Computation复杂度计算
【发布时间】:2017-11-04 19:39:37
【问题描述】:

我必须分析这段代码的复杂性,但我对 IF条件 感到非常困惑。

sum=0;
for(i=1;i<n;i++){
  for(j=1;j<i*i; j++){
      if(j%i==0){
         for(k=0;k<j;k++){
          sum++;
         }
      }
   }
}

如果 "(j%i==0)" if 条件不存在,我将能够计算复杂度,但我无法理解。我需要一些关于我们如何计算这个条件为真的次数的解释。

谢谢。

【问题讨论】:

  • 对于给定的 i 和 j,条件将为真 j/i 次。提示足够了吗?

标签: time-complexity


【解决方案1】:

算法的复杂度为 O(n^3),因为有 3 个 for 语句。

你可以看看if statement - how does IF affect complexity

那里有一个关于更多信息的好链接。

【讨论】:

    猜你喜欢
    • 2012-12-31
    • 2019-03-11
    • 2013-11-01
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多