целые числа, строки, не имеет значения
http://videolectures.net/mit6046jf05_leiserson_lec08/
После вступления в 49:38 вы узнаете, как это сделать. Демонстрируется хеш-функция Dot Product, поскольку она имеет элегантное доказательство. Большинство хэш-функций напоминают черную магию вуду. Не тратьте время здесь, найдите что-то, что БЫСТРО для вашего типа данных, и которое предлагает некоторую регулируемую SEED для хеширования. Хорошая комбинация там лучше, чем альтернатива выращивания хеш-таблицы.
@ 54: 30 Профессор рисует картину стандартного способа создания идеального хэша. Идеальный минимальный хэш выходит за рамки этой лекции. (удачи!)
Все зависит от того, чем вы занимаетесь.
Имейте в виду, анализ, который он показывает, может быть дополнительно оптимизирован, зная оборудование, на котором вы работаете.
Std :: map обеспечивает очень хорошую производительность в 99,9% сценариев. Если в вашей горячей точке одни и те же сообщения iTest несколько раз, объедините результат карты с временным хеш-кэшем.
Int - это один из типов данных, который можно просто сделать:
bool hash[UINT_MAX]; // stackoverflow ;)
И заполните его. Если вас не волнуют отрицательные числа, тогда это вдвое проще.