Хеш-функция преобразует входные данные в значение ограниченного размера. Для хеш-таблицы важны стабильность результата, скорость и равномерное распределение ключей; коллизии полностью исключить нельзя.
Что такое хеш-функция, чем хорошая отличается от плохой?
Хеш-функция преобразует входные данные в значение ограниченного размера. Для хеш-таблицы важны стабильность результата, скорость и равномерное распределение ключей; коллизии полностью исключить нельзя.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Хеш-функция преобразует входные данные в значение ограниченного размера. Для хеш-таблицы важны стабильность результата, скорость и равномерное распределение ключей; коллизии полностью исключить нельзя.
Если ключи считаются равными, их хеши должны совпадать. Обратное неверно: одинаковый хеш не доказывает равенство, поэтому таблица дополнительно сравнивает ключи.
Плохая функция концентрирует типичные данные в нескольких корзинах и ухудшает время поиска. Криптографические требования, например стойкость к поиску прообраза, — отдельная задача; быстрый хеш контейнера не следует автоматически использовать для защиты паролей.