Идеальный генератор хеш-функций - PullRequest
0 голосов
/ 31 октября 2018

Я пишу парсер (на C ++), и у меня есть небольшой список строк (менее 100), где каждая представляет допустимый тег парсера. Мне нужно сопоставить каждый такой известный тег со значением перечисления для дальнейшей обработки. Поскольку все строки известны во время компиляции, я искал для этой цели совершенную хеш-функцию .

Мне известны существующие инструменты и алгоритмы для генерации совершенных хеш-функций. gperf , миль / ч , км / ч . Тем не менее, все такие инструменты / реализации находятся под некоторой ограничительной лицензией (такой как GPL, LGPL, MPL), в то время как из-за моих ограничений я ищу некоторый код, который находится под упрощенной лицензией для повторного использования (такой как лицензия MIT) и предпочтительно в C / C ++ или C #. Вам известно о каком-либо таком инструменте или коде?

1 Ответ

0 голосов
/ 31 октября 2018

Да, вот тот, который, кажется, соответствует вашим параметрам:
https://www.codeproject.com/Articles/989340/Practical-Perfect-Hashing-in-Csharp

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

...