在开发像Landau表示法的过程中获取重要信息以了解函数的时间成本是个好主意。所以它应该在消息来源中记录不是吗?
我正在寻找可以计算它的工具。
答案 0 :(得分:3)
在一般情况下,Rice's theorem的任意算法的渐近复杂度是不可判定的。
但实际上,您可以通过在各种输入(大小跨越几个数量级)上重复运行算法,记录实际CPU时间和拟合曲线来做出好的猜测。 (你应该抛弃运行时间非常短的数据点,因为这些数据点将受到噪声的支配。另外,在Java虚拟机之类的JITed运行时,请确保在启动计时之前运行该函数一段时间,以确保VM已经热身了。)