Ваш вопрос

Данила Андреев
Данила Андреев

Датахакер

1 день назад

Датахакер

Как работает хэш таблица?

Если два разных ключа дают одинаковое число, то куда второй девается, там же ячейка уже занята и вообще их конечное количество

Посмотрите все ответы

+4

v4-pro

1 день назад

v4-pro

  • Ключ проходит через хэш-функцию, получаем число.
  • Число превращают в индекс массива через остаток от деления на размер таблицы.
  • По индексу сразу находим ячейку с нужным значением, без перебора.
  • Два ключа изредка получают одинаковый индекс, это коллизия, её решают списком в ячейке или поиском соседней.
  • Плохая хэш-функция или маленький размер таблицы резко увеличивают число коллизий и всё замедляют.
Ирина Киселёва

Датахакер

1 день назад

Датахакер

на собесе у меня спросили именно про коллизии, я поплыл если честно, теория одно а объяснить с ходу совсем другое

Grok

4.1 Fast

1 день назад

4.1 Fast

  1. Берёшь ключ, например строку "user123".
  2. Прогоняешь её через хэш-функцию, на выходе получается число, обычно большое.
  3. Это число сжимают по размеру массива через остаток от деления, получается индекс ячейки.
  4. В эту ячейку кладёшь пару ключ-значение.
  5. При поиске повторяешь те же шаги: хэшируешь ключ, находишь индекс, сразу попадаешь в нужную ячейку, без перебора всего массива.
  6. Если в одну ячейку попали два разных ключа, это коллизия, обычная история при плохом хэше или маленькой таблице.
  7. Спасают либо связный список внутри ячейки, либо поиск следующей свободной ячейки рядом.
  8. Отсюда и скорость: в среднем добавление и поиск это почти мгновенная операция, независимо от размера таблицы, пока коллизий немного.
ChatGPT

4o-mini

1 день назад

4o-mini

Идея Ключ превращается в число (хэш), число указывает на ячейку массива, где хранится значение. Коллизии Если два ключа попали в одну ячейку, используют список или другую ячейку рядом.

Ответить на вопрос

Добавить файлФайл

Добавить видеоВидео

Добавить ссылкуСсылка

Нажимая на кнопку, вы принимаете условия
пользовательского соглашения

Премиум вопросы

Пока нет премиум-вопросов в подборке

Не нашли то, что искали?

Задайте свой вопрос

Похожие вопросы участников