Эффективная реализация HashMap когда ключи знаем заранее
От: PrelaunchCalibration  
Дата: 12.04.18 08:16
Оценка:
Уважаемые коллеги,

Посоветуйте что почитать про более эффективную реализацию HashMap (особенно интересует оптимизация по памяти), когда множество ключей известно заранее.

Заранее спасибо
algorithms hashtable
Re: Эффективная реализация HashMap когда ключи знаем заранее
От: watchmaker  
Дата: 12.04.18 08:37
Оценка: 1 (1) +4
Здравствуйте, PrelaunchCalibration, Вы писали:


PC>Посоветуйте что почитать про более эффективную реализацию HashMap , когда множество ключей известно заранее.


Ну конечно же perfect hash function.


PC>(особенно интересует оптимизация по памяти)

It has been proven that a general purpose minimal perfect hash scheme requires at least 1.44 bits/key. The best currently known minimal perfect hashing schemes can be represented using less than 2.1 bits/key

Примерно так на практике и выходит.
Re: Эффективная реализация HashMap когда ключи знаем заранее
От: GarryIV  
Дата: 15.04.18 18:05
Оценка: 1 (1) +1
Здравствуйте, PrelaunchCalibration, Вы писали:

PC>Посоветуйте что почитать про более эффективную реализацию HashMap (особенно интересует оптимизация по памяти), когда множество ключей известно заранее.


Может и не нужен хэшмап? Раз все ключи известны можно же их пронумеровать и использовать номер как индекс в массиве. Это если типичный мап содержит большинство ключей и их не слишком много.
В любом случае для достижения максимальной эффективности надо анализироать набор ключей и характерные их наборы в таблицах.
Стандартные таблицы и так хорошо оптимизированы для общего случая.
WBR, Igor Evgrafov
Отредактировано 15.04.2018 18:15 GarryIV . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.