ht_size = количество хеш-таблиц. Я предполагаю, что вы имеете в виду
h(k) + c1*i^2 + c2*i % ht_size
c1 = 0, c2 = 1 будет работать;)
c1 = 0, c2 совместно с премьер ht_size также работает. 1 является взаимно простым с любым числом. Простые числа также являются хорошими кандидатами, если ht_size не является случайным же простым числом.
Почему такая настройка посещает все слоты? Если c1 = 0 и c2 взаимно просты в ht_size, то ggt (c2, ht_size) == 1. Иными словами, в группе (теория алгебраических групп) c2 является генератором. Это означает, что c2**i
будет генерировать все числа от 0 до ht_size - 1. К **
i означает оператор мощности, то есть применяя оператор группы i раз. Оператор группы - +
, поэтому c2**i
в групповых теоретических обозначениях соответствует c2*i
в нормальных обозначениях.
Надеюсь, это дало вам представление о том, как начать поиск комбинации c1 и c2, где c1! = 0.