PHP数组的时间/空间复杂性

kri*_*ian 12 php arrays complexity-theory

除了手动计算之外,有没有办法或资源在PHP中查找Array实现的时间和空间复杂度?

PHP中的数组实际上是一个有序映射.映射是将值与键关联的类型.此类型针对多种不同用途进行了优化; 它可以被视为数组,列表(向量),哈希表(地图的实现),字典,集合,堆栈,队列,甚至更多.由于数组值可以是其他数组,因此树和多维数组也是可能的.- php.net

据我所知,它似乎具有地图的一般复杂性

Mik*_*wis 10

因为它就像一个哈希表,所以你有O(1)时间通过一个键访问一个元素.

如果你在数组中循环,你自然会有O(n)时间.

如果你有时间,你可以在这里检查PHP的数组实现


Kin*_*nch 5

到目前为止,访问和迭代由@Mike-Lewis 描述

  • 设置一个值:O(1)
  • 追加:O(1)(与给键“length”设置一个值是一样的)
  • 前置:O(n)(这是一个猜测,但应该适合,因为它应该重写现有的键)
  • 取消设置:O(1)

有什么遗漏吗?