большая буква O операции isset

Имея массив:

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

Я буду использовать операцию:

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

Разве большая буква O будет O (n)? Как isset () работает за кулисами?

1

Решение

Как заявил Марк Бейкер, это O (1). Однако учтите, что это только в среднем случае.

На самом деле, операция поиска в хэш-картах все еще может занимать O (n) времени из-за коллизий хеш-функций, независимо от того, насколько хорошо вы реализуете хэш-карту (цепочку, зондирование и т. Д.).

Тем не менее, это не означает, что хеш-таблицы плохие на практике. На самом деле, Big O — это просто то, что часто используется для описания наихудшего сценария алгоритма.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector