perl中的数组访问复杂度为O(1)还是O(n)?

And*_*eas 0 perl complexity-theory caching

我正在缓存函数f(1),f(2),...,f(1e7)的结果.缓存中的元素将随机读取.在C中,我将其存储在向量中,因为访问复杂度为O(1).在Perl中,我应该将缓存存储在向量还是哈希中?

我觉得将它存储在哈希中不会利用输入是连续整数的事实.但另一方面,我可能会过度思考这一点.

And*_*ter 7

不要自己缓存函数的结果,而是使用Memoize核心模块来处理它.

use Memoize;
memoize('slow_function');
slow_function(arguments); # Is faster than it was before
Run Code Online (Sandbox Code Playgroud)

这就是它的全部内容,它已经存在了很长时间并且经过了充分的测试.