Вопрос 7: Рекомендации по составлению хеш-функций

Подбор подходящей хеш-функции — в общем случае достаточно сложная задача. Но если ключи представляют собой целые числа (или сводятся к таковым), хорошие результаты можно получить с хеш-функцией вида:

h(x) = (a * x + b) % m, где m – размер таблицы, а a и b — простые числа.

Обычно a выбирается близким по значению к m, а b — к 1. Так, при m = 100 можно взять a = 97, b = 11. Такой выбор обеспечивает равномерное использование всех ячеек таблицы в большинстве практических случаев.

results matching ""

    No results matching ""