Necesito una implementación de función hash orientada al rendimiento en C++ para una tabla hash que voy a codificar. Miré a mi alrededor y solo encontré preguntas preguntando qué es una buena función hash "en general". He considerado CRC32 (¿pero dónde encontrar una buena implementación?) Y algunos algoritmos de criptografía. Mi mesa, sin embargo, tiene requisitos muy específicos.¿Tiene una buena función hash para una tabla hash C++?
Esto es lo que la mesa será como:
100,000 items max
200,000 capacity (so the load is 0.5)
hashing a 6-character string which is a part of English sentence
examples: "become" "and he" ", not "
La prioridad número uno de mi tabla hash es búsqueda rápida (de recuperación). La inserción rápida no es importante, pero vendrá junto con la búsqueda rápida. La eliminación no es importante, y volver a mezclar no es algo que investigue. Para manejar colisiones, probablemente usaré encadenamiento separado como se describe here. Ya he consultado this article, pero me gustaría obtener una opinión de aquellos que ya han manejado esa tarea anteriormente.
También he añadido una función de hash que te puede gustar como otra respuesta –
Si estás desesperado, ¿por qué no has puesto una recompensa en esto? – jmucchiello
Recompensa del representante: lo pondría si nadie estuviera dispuesto a ofrecer sugerencias útiles, pero estoy gratamente sorprendido :) –