Интересует каким образом реализован hash table. Непонятно следующее: хеш функция от любых значений ключа должна выдвавать целые значение в строго фиксированном дипазоне напрмер от 0..n? Массив размером n для хранения значений выделается сразу или по мере заполнения таблицы?
Здравствуйте, vsb, Вы писали:
_>>Интересует каким образом реализован hash table. Непонятно следующее: хеш функция от любых значений ключа должна выдвавать целые значение в строго фиксированном дипазоне напрмер от 0..n?
vsb>hash(x) % n позволит иметь диапазон от 0 до n при любой хеш-функции.
Кстати, поэтому внутри реализации обычно выбирают n простым числом.
Вот пример, из недавнего обсуждения:
http://rsdn.ru/forum/dotnet/3956346.aspxАвтор: andy1618
Дата: 13.09.10