可以使用概率函数作为计算代码复杂度的一部分

时间:2014-03-29 04:16:45

标签: big-o complexity-theory code-analysis analysis code-complexity

如何将概率函数作为代码复杂性分析的一部分。

if (cond1(l,n)) {
   for (int r=l;r<n;r++)
      for (int m=r;m<n;m++)
          for (int k=m;k<n;k++)
               //calculation
} else
    // calculation

此代码的典型复杂性分析会产生O(N ^ 3)的复杂性。

假设cond1(l,n)显着产生错误,因此在假设计算中跳过内部for循环。

我想尽可能准确地计算代码的复杂性,因为我想比较一系列类似算法的复杂性。

例如,我想用减少内部循环调用的不同算法集替换cond1(l,n)。

如何尽可能准确地计算算法的复杂性。

我尝试分析的代码的真实场景是[link] Analyzing an exponential recursive function

1 个答案:

答案 0 :(得分:0)

复杂性分析不是这里工作的正确工具:它旨在大致了解随着问题规模的扩大会发生什么。如果您正在寻找运行时的精确分析,则需要对代码进行基准测试或分析。