有一个数组:
$array = (..., 'name' => 'foo', 'age' => 69, 'address' => 'bar');
我将使用该操作:
if(isset($array['address'])) { //Do something... }
大O符号是O(n)吗? isset()如何在幕后工作?
答案 0 :(得分:1)
如Mark Baker所述,这是O(1)。但请注意,这只是一般情况。
事实上,无论你如何实现哈希映射(链接,探测等),哈希映射中的搜索操作仍然可能由于哈希冲突而花费O(n)时间。
尽管如此,这并不意味着哈希表在实践中很糟糕。实际上,Big O只是通常用于描述算法的最坏情况的东西。