在PHP中使用数组获取元素的时间复杂度是多少?

时间:2009-12-04 10:53:54

标签: php arrays time complexity-theory

我对如何在PHP中实现数组知之甚少,并且知道对于大多数OOP语言而言,对于预定义类型的数组,复杂性是常量时间O(1)之一。那么PHP的动态类型,扩展数组等是什么?

1 个答案:

答案 0 :(得分:2)

查看array.c in the PHP source code显示它们是作为哈希表实现的,这通常意味着O(1)(如果你非常严格,它实际上是O(N)但是可能与O(log N)一样糟糕))用于查找元素。

如果有疑问,你可以随时测量。创建一个包含10,100,1000,10000,100000,1000000等元素的数组并测量性能,将数据外推到函数中,您将获得平均性能特征。