【发布时间】:2015-11-01 14:10:02
【问题描述】:
我有这个公式:
index = (a * k) % M
它将来自不同数字的输入集 K 的数字“k”映射到它在哈希表中的位置。我想知道如何编写一个非暴力程序来找到这样的“M”和“a”,这样“M”是最小的,并且给定的集合 K 没有冲突。
【问题讨论】:
-
我假设您在找到这些数字时拥有所有
k的集合?否则,我看不出如何在您的约束下找到数字(即没有冲突)。 -
@JohnPirie 我需要这个特定问题的答案,而不是如何构造一个好的散列函数。
-
a是作为算法输入的常量吗? -
@JohnPirie 那么为什么在这种情况下 M 最小?
标签: algorithm collections hashtable hash-collision