Во время задания меня попросили показать, что хеш-таблица размера m (m>3, m — простое число), заполненная менее чем наполовину и использующая квадратичную проверку (hash(k, i) = (h(k) + i^2) mod m
), всегда найдет свободное место.
Я проверил и пришел к выводу, что точки, которые будут найдены (когда h(k)=0), это 0 mod m
, 1 mod m
, 4 mod m
, 9 mod m
, ...
Моя проблема в том, что я не могу понять способ показать, что он всегда найдет свободное место. Я сам тестировал его с разными значениями m, а также убедился, что если хэш-таблица заполнена более чем наполовину, мы можем никогда не найти свободного места.
Может ли кто-нибудь подсказать мне, как решить эту проблему?
Спасибо!