Читайте также:
|
|
Первый метод заключается в том, что мы используем в качестве хеша остаток от деления на , где
это количество всех возможных хешей:
При этом очевидно, что при чётном значение функции будет чётным, при чётном
, и нечётным — при нечётном, что может привести к значительному смещению данных в файлах. Также не следует использовать в качестве
степень основания счисления компьютера, так как хеш-код будет зависеть только от нескольких цифр числа
, расположенных справа, что приведет к большому количеству коллизий. На практике обычно выбирают простое
— в большинстве случаев этот выбор вполне удовлетворителен.
Ещё следует сказать о методе хеширования, основанном на делении на полином по модулю два. В данном методе также должна являться степенью двойки, а бинарные ключи (
) представляются в виде полиномов. В этом случае в качестве хеш-кода берутся значения коэффциентов полинома, полученного как остаток от деления
на заранее выбранный полином
степени
:
При правильном выборе такой способ гарантирует отсутствие коллизий между почти одинаковыми ключами.[3]
Дата добавления: 2014-12-23; просмотров: 100 | Поможем написать вашу работу | Нарушение авторских прав |