【问题标题】:What's the time complexity of getting an element in an array in PHP?在 PHP 中获取数组中的元素的时间复杂度是多少?
【发布时间】:2009-12-04 10:53:54
【问题描述】:

我几乎不知道数组是如何在 PHP 中实现的,并且知道对于大多数 OOP 语言来说,对于预定义类型的数组来说,复杂性是常数时间 O(1) 之一。那么 PHP 中的动态类型、扩展数组等是怎么回事呢?

【问题讨论】:

    标签: php arrays time complexity-theory


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-20
      • 2020-04-17
      • 2018-09-11
      • 1970-01-01
      • 2021-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多