【发布时间】:2019-10-06 03:55:33
【问题描述】:
作为一个大学项目,我被分配了从头开始创建数据结构(例如 minheap、hashtable 等)的任务。然而 Hashtable 或更具体地说是 Hash maps - 函数给我带来了一些麻烦。我遇到了 MAD(乘、加、除)函数,它基本上是:h(x) = [(a*x + b) % p] % N,其中 a,b:随机整数,p:大素数和 N :哈希表中的元素数。
我的问题是这个函数如何(以及为什么)准确地均匀分布哈希表中的值。
【问题讨论】:
-
谁说的?顺便说一句,这似乎是数学问题而不是编程问题。
-
嗯,我是堆栈溢出的新手,这里似乎是提出这个问题的更好的地方,因为它与数据结构有关,但是我知道你来自哪里,因为它涉及到数学方面。无论如何,我也认为它没有那么有效,但是我们的教授建议我们使用它。
-
我遇到了 MAD 功能你有这个链接,你可以edit 进入你的问题吗?
-
我不明白我应该在问题中编辑什么?
-
你是从哪里看到这个描述的?如果我们可以阅读相同的资料,我们可以更好地解释哪些内容有效(或无效)。