TGViewer
Точка входа в программирование Точка входа в программирование @prog_point · 17.9K subscribers
Post #5199 280
Коллизии хеш-таблицы: почему удаление ломает поиск

Представьте таблицу из пяти ячеек и учебный хеш key % 5. Ключи 1, 6 и 11 попадут в одну ячейку. Это коллизия, и таблице нужен способ сохранить все три значения.

При цепочках значения остаются в одном бакете. При линейном пробировании занятая ячейка заставляет двигаться дальше: ключи займут позиции 1, 2 и 3. Поиск повторяет тот же маршрут.

Теперь удалите ключ 6. Если пометить позицию 2 как обычную пустую ячейку, поиск 11 остановится раньше времени. Поэтому используют особую метку удаления, tombstone: значения здесь уже нет, но поиск нужно продолжить.

В интерактивном разборе коллизий можно сравнить обе стратегии на одинаковых ключах. Поиск в хеш-таблице не гарантированно O(1) для любого входа: распределение ключей и способ обработки коллизий имеют значение.
  • ❤‍🔥 1
More from @prog_point
  1. Oct 17, 2026Инварианты: какие состояния объекта должны быть невозможны У дроби не может быть нулевого…
  2. Oct 17, 2026Копия есть, а вложенные объекты всё ещё общие Вы скопировали настройки для теста, поменяли…
  3. Oct 16, 2026Что Big O говорит о скорости, а что скрывает Два вложенных цикла не обязательно выполняют…
  4. Oct 16, 2026Рекурсия: базового случая недостаточно У функции есть условие остановки, но выполнение до…
  5. Oct 15, 2026SQL CASE: превращаем категории товаров в подписи CASE выбирает значение для вывода. В учеб…
  6. Oct 14, 2026Как убрать файл из будущего коммита и сохранить правки После git add изменения попадают в…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →