Mar*_*ark 1 perl class time-complexity
我在perl工作.我的主要模块中有许多属性(大约30个).我需要调用一个O(n)函数,其中n当前为9,我认为它在未来5年内不会超过20.
我的问题是:我需要调用此函数(determine_values)3次,或者我可以在new中调用它一次并隐藏对象中返回的值,并使用该对象3次.
我不确定是否更好地权衡时间复杂度(O(n))(但调用三次),或者使用额外的内存(该函数将数组引用返回到最多n个项目的数组)
你似乎非常担心你班级的一个非常简单的功能.程序应该以最清晰,最明显的方式编写,然后如果你在测试中发现它太慢,你就开始对它进行分析,以找到代码中最好尝试获得一些速度的位置.
你过早地关注自己的优化问题.首先获取您的程序,然后在必要时查看优化程序.即使你必须加快速度,我也怀疑提高某些属性访问器的效率是否会改变这些表格.
您没有详细解释您的项目,但我没有看到内存使用和时间复杂性之间的选择.如有必要,您可以使用一些空间来缓存值,从而避免再次查找它们,但复杂性不会改变.