是否有一种编程方式或 Eclipse 插件,可以计算 Java 方法的大 O 表示法(Big-O notation)?
是否有一种编程方式或 Eclipse 插件,可以计算 Java 方法的大 O 表示法(Big-O notation)?
N = 1000
)和中等数据集(例如N = 10000
)测试您的程序。如果您的程序在中等数据集上运行时间比小数据集长10倍,则插件应该得出结论,您的程序是O(N)
,对吗?不完全是这样。最好/平均/最坏情况如何?例如,快速排序的最坏情况是O(N^2)
,但通常被认为是O(N*logN)
排序算法。因此,如果插件遇到特殊输入,它将给出错误的结果。常数呢?运行时间为O(N + k*logN)
的程序被认为是O(N)
,但如果常数k
相对于N
足够大,插件将无法得出这个结论,等等。