干草!
我想创建一个可以找到程序复杂性(时间和空间)的测试。 按功能运作...... 我想用库“time”这样做,并在为大量“n”运行函数时计算秒数。
有没有人有更好的主意?也许它已经存在? :)
谢谢! Amihay
答案 0 :(得分:1)
编写一些测试并进行性能分析。当然,您可以编写自己的函数,但这不是它的完成方式。好的剖析器将为您提供您可以想象的各种信息。
在msnd上查看关于性能分析的this教程。
答案 1 :(得分:1)
看起来是一种非常合理的方法,至少时间复杂度。确保您的程序以有用的格式输出,例如CSV或制表符分隔,以便您可以轻松地将其复制/加载到电子表格中。
空间复杂性可能更难以获得可靠性。为此,您可能希望修改函数,以便它们返回有用的指标。例如,如果算法的主要数据结构是固定元素的映射,那么在运行期间返回地图的最大大小将为您提供足够的信息。