Performance 如何在给定一个键的情况下生成哈希函数,该键为您提供一组压缩的唯一整数?

Performance 如何在给定一个键的情况下生成哈希函数,该键为您提供一组压缩的唯一整数?,performance,hash,hashcode,Performance,Hash,Hashcode,假设我需要从一个键创建一个哈希代码,该键是一组已知可能值的集合,即: 键=concat(A、B、C) 其中A是a1、a2、a3中的一个 其中B是b1、b2、b3中的一个 其中C是c1、c2、c3中的一个 我想为每个可能的键创建一个散列码,该键提供O(1)(常量)访问时间。 我还想实现哈希代码的最大压缩。 因此整数散列码之间没有冲突和间隙 有人知道创建这类散列函数的一般公式吗?因为只有27种组合,所以似乎可以只枚举它们。当然,如果值是字符串,则需要将它们转换为散列,以便决定哪些字符串映射到枚举值,

假设我需要从一个键创建一个哈希代码,该键是一组已知可能值的集合,即:

键=concat(A、B、C)

其中A是a1、a2、a3中的一个 其中B是b1、b2、b3中的一个 其中C是c1、c2、c3中的一个

我想为每个可能的键创建一个散列码,该键提供O(1)(常量)访问时间。 我还想实现哈希代码的最大压缩。 因此整数散列码之间没有冲突和间隙


有人知道创建这类散列函数的一般公式吗?

因为只有27种组合,所以似乎可以只枚举它们。当然,如果值是字符串,则需要将它们转换为散列,以便决定哪些字符串映射到枚举值,这意味着你必须反复寻找匹配的可能性,而不是恒定的时间。