Re[14]: std::hash
От: MTD https://github.com/mtrempoltsev
Дата: 11.10.17 14:22
Оценка:
Здравствуйте, Qbit86, Вы писали:

MTD>>Назначение функции hash — дать хеш.


Q>Назначение функции hash — быть использованной стандартной библиотекой: «defines the default hash function used by the standard library» ©


Какой авторитетный источник. В стандарте тоже написано?

Q>>>Будут при arity(k) > arity(M). Это пример был к тому, что твоя identity — никак не «идеальная».

MTD>>Да, но лучше того, что сделали в Майкрософт.

Q>Если используются просто как контрольная сумма, то конечно лучше.


Контрольная сумма и хеш вещи разные, созданы для разного. Задача хеша — мапить ключ в хеш, задача контрольной суммы — проверка целостности.

MTD>>Мне нужно через std::hash — я обобщенный код пишу.


Q>Значит, тебе не нужно через std::hash, а нужно через свою хэш-функцию со специализацией для size_t.


Я не хочу переписывать стандартную библиотеку.

Q>И тем не менее, случаи biased-данных, что ломают наивные сортировки или хэш-таблицы, периодически встречаются. Не у всех и не у каждого, но не исчезающе редко.


Из практики есть пример, когда обсуждаемая хеш-функция работала плохо? Любопытно, квиксорт — наивная сортировка?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.