试图为特定的int数据集提供一个良好的哈希算法

时间:2014-05-19 17:53:21

标签: algorithm hash

我正在尝试改进哈希表实现。这个哈希表创建了一个自定义哈希,然后执行典型的例程,将它扔进桶中并试图找到一个地方来推它等。

在我的特定情况下,我有两个数字,每个数字介于-16000和16000之间,然后是一个跨越0到256的数字。

实际上我有2个短路和1个字节的额外数据。我正在尝试为这些数据集制作一个好的哈希算法。我希望有一个平面地图不会动态增长并咀嚼更多内存,但在这种情况下,这组数据太大了。

任何建议都会受到赞赏,我目前在这个领域并不是很有经验。

编辑:这是应用程序用于当前生成它的唯一哈希值:

public static int a(int i, int j, int k) {
  return j & 255 | (i & 32767) << 8 | (k & 32767) << 24 | (i < 0 ? Integer.MIN_VALUE : 0) | (k < 0 ? '\u8000' : 0)
}

请注意,我没有写这个。我正在研究如何改进它。

0 个答案:

没有答案