Почему мы говорим, что поиск строки в хеш-таблице требует O(1)?C++

Программы на C++. Форум разработчиков
Anonymous
 Почему мы говорим, что поиск строки в хеш-таблице требует O(1)?

Сообщение Anonymous »

  • допустим, длина строки равна L. Теперь, когда мы вставляем это в хеш-таблицу (скажем, мы используем отдельную цепочку), в первую очередь вычисляется хеш для строки. теперь как происходит вставка в хеш-таблицу O(1). разве это не должно быть O(L), поскольку время вычисления хэша строки увеличивается с размером строки.
  • после вычисляется хеш, затем строка сохраняется в хеш-таблице, теперь это копирование также не займет O(L) ?
  • теперь, когда строка просматривается в хеш-таблице, как это может быть постоянной операцией, потому что снова вычисляется хеш для строки, а затем в вычисленном сегменте сравнивается строка, которая также должна быть O(L)< /code> в худшем случае.
    Пожалуйста, объясните кто-нибудь это. что мне не хватает. спасибо.
Я пытался задать вопрос в ChatGPT, а также искал решения на веб-сайтах, но они противоречили друг другу, говорил ChatGPT. это будет O(L), но на некоторых сайтах говорилось, что это будет O(1).

Подробнее здесь: https://stackoverflow.com/questions/790 ... able-is-o1

Вернуться в «C++»