Что вы знаете о своей хэш-функции?
Вы упомянули расширяемое хеширование.
При расширяемом хешировании вы смотрите на свой хэш как битовую строку и, как правило, реализует поиск сегмента через триВместо того, чтобы искать на основе поиска, я предполагаю, что вы конвертируете это в индекс в свой массив.
Вы упомянули, что у вас будет максимум 100 элементов.Если вам нужны все различные хэши, у вас будет 128 возможностей, так как это самая близкая комбинация битов с 7 битами.
Если ваша хеш-функция может хэшировать каждый элемент, чтобы иметь 7 из 7 (или более) разных битов, тогдау вас есть наиболее оптимальное решение с размером сегмента 1. Оставить 128 конечных узлов или массив размером 128.
Если ваша хеш-функция может хешировать каждый элемент, чтобы иметь 6 из 7 (или более) разных битов, тогда у вас есть размер сегмента 2. У вас будет 64 конечных узла / комбинации / размер массива.
Если ваша хеширующая функция может хешировать каждый элемент, чтобы иметь 5 из 7 (или более) разных битов, тогда выразмер корзины равен 4. У вас будет 32 конечных узла / комбинации / размер массива.
Поскольку вы сказали, что хотите размер корзины 4, я думаю, что ваш ответ будет 32, и у вас есть жесткое требование, чтобы выиметь хорошую функцию хеширования, которая может дать вам как минимум 5 первых битов как отличных.