除了手动计算之外,是否有方法或资源可以在PHP中查找Array实现的时间和空间复杂度?
PHP中的数组实际上是一个有序的映射。映射是将值与键关联的类型。此类型针对多种不同用途进行了优化;它可以被视为数组,列表(向量),哈希表(地图的实现),字典,集合,堆栈,队列,甚至更多。由于数组值可以是其他数组,因此树和多维数组也是可能的。 - php.net
据我所知,它似乎具有地图的一般复杂性
答案 0 :(得分:7)
因为它的行为类似于哈希表,所以当按键访问元素时,您将有O(1)
次。
如果你循环遍历数组,那么你自然会有O(n)
时间。
如果你有时间,你可以查看PHP的implementation of array here
答案 1 :(得分:3)
有什么遗漏?
答案 2 :(得分:0)
除了@Mike Lewis所说的,我还要补充一点,PHP中的一个数组元素至少占用52个字节(proof)