在阅读了PHP 函数的 Big-O 列表的答案后,我有点好奇。
Kendall Hopkins 的回答指出,对于大型数组,php 查找是 O(n),对于小型数组是恒定时间(意味着 O(1)?!)。他发布了一张图片,其中包含一个图表,该图表显示了恒定数量的查找(100 万)所花费的时间,具体取决于数组的大小。它几乎垂直地开始,然后变平。
从我学到的恒定时间意味着所花费的时间不是数组中元素的函数,这意味着水平图而不是垂直图。我认为他的图表看起来更像 O(log n),这符合说明 PHP 实现递归哈希表的评论。
我做了自己的测试(使用他的脚本),结果图几乎相同(PHP 5.3.23)。
由于这是一个评价最高的答案,我有点害怕。你能告诉我我是否把这整个 O(x) 弄错了吗?如果是这样,请帮助我。
无论如何:@Kendall Hopkins 感谢您的出色回答!