用于计算代码计算复杂度的软件/脚本?

时间:2012-04-04 09:42:34

标签: algorithm

有没有人知道任何程序/脚本自动计算代码的计算复杂性(例如方法函数)?

如果没有,是否有支持它的好方法(例如设计模式,算法等)?

我一般都不想这样做。

在大多数情况下,我知道输入,运行它的算法以及构成停顿的内容。我试图以这种方式比较两种或更多算法。

E.g。

algo #1 - 2x^2 + 10x + 5

algo #2 - 5x^2 + 1x + 3

两种算法都是O(N ^ 2)。但算法#2在短期内更好,而算法#1从长远来看更好。

2 个答案:

答案 0 :(得分:1)

虽然不可能开发出通常可以解决问题的算法,但您可以编写一个算法来计算一些软件的复杂性,以用于一些示例输入。

我能找到的唯一软件称为Trend-Profiler。但是,如果您对算法比对结果更感兴趣,可以使用论文here来描述软件及其算法。

答案 1 :(得分:0)

使用不同数量的输入采样算法不是更好吗? 通过计算每个输入的时间,您可以近似复杂度函数,从而确定哪个算法更好以及在哪个阶段。