isset 操作的大 O 表示法



有一个数组:

$array = (..., 'name' => 'foo', 'age' => 69, 'address' => 'bar');

我将使用以下操作:

if(isset($array['address'])) { //Do something... }

大 O 表示法是 O(n)吗?isset() 如何在幕后工作?

正如Mark Baker所说,它是O(1)。但是,请注意,这只是在一般情况下。

事实上,无论您实现哈希映射(

链接、探测等)有多好,哈希映射中的搜索操作仍然有可能由于哈希冲突而花费 O(n) 时间。

尽管如此,这并不意味着哈希表在实践中是不好的。事实上,Big O只是经常用来描述算法的最坏情况的东西。

相关内容

最新更新