Реализация хеш-таблицы для C

что такое хорошая реализация хеш-таблицы для C? Я должен использовать его с mpicc компилятором. Удалите функцию, не необходимо.

5
задан Alex 23 March 2010 в 11:06
поделиться

2 ответа

Один в glib очень хорош. Не уверен, что он слишком велик и / или его можно изолировать от остальной части glib.

В противном случае хеширование Пирсона кажется хорошей отправной точкой для реализации вашего собственного (это хеш-функция, оптимизированная для машин с 8-битными регистрами).

4
ответ дан 14 December 2019 в 08:47
поделиться

Если все ключи известны заранее, вы можете использовать генератор идеального хэша , чтобы избежать накладных расходов на пространство, которые неявно присутствуют в хэш-таблицах.

Если, с другой стороны, вам действительно нужна полная хеш-таблица, я бы предложил вариант Хеширования кукушки (например, d-арная версия).

Я с удовлетворением использовал упрощенную версию Hopscotch Hashing , которая довольно хорошо работает даже при более высоких факторах нагрузки.

3
ответ дан 14 December 2019 в 08:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: