Если я заметил, что хеш-таблица (или любая другая структура данных, построенная на хэш-таблице) заполняется, в какой момент вы должны построить новую таблицу с большим количеством ковшей. И учитывая, что n позиций в таблице до сих пор, как вы определяете, сколько ведер использовать в новом?
Итак, скажем, у меня есть 100 ведер. Должен ли я реорганизовать его, когда в нем 50 предметов? 500? 5000? Или я должен искать наиболее полное ведро и ключ? Затем, когда я ударил по этой точке, насколько велика моя новая таблица хэшей?
В связи с этим, если вы заранее знаете, сколько элементов будет входить, есть ли способ вычислить количество ковшей для получения хорошей средней производительности?
Я знаю, что реальный ответ зависит от многих других соображений, таких как важность скорости и размера в конкретном примере, но я ищу общие линии гильдии.
Я также знаю, что я не должен оптимизировать такие вещи, если хорошее профилирование не указывает на то, что это узкое место. Я просто думаю о проекте, который использовал бы много хеш-таблиц, и задавался вопросом, как подойти к этому.