algorithm - 散列技术中散列值的均匀分布是什么意思

标签 algorithm data-structures hash hashtable string-hashing

散列中,这种散列值的均匀分布是什么意思。 请使用适当的示例通俗易懂地解释。

谢谢

最佳答案

它只是意味着如果你有一定大小的哈希表(比如说 n ),那么如果你正在哈希 kk<n ,然后:

A sequence of outputs from the function must appear to be a random sequence, even if the input numbers are sequential

此外,哈希函数的基本原则应该是尽量减少冲突,但同时,对于倾斜的输入,哈希函数的输出应该是分布式的。

编辑:

正如所问,这就是均匀分布的意思。比如说,如果你的哈希表大小是 n然后你推 k (<n)元素,然后,在 n/k 的每个桶中在哈希表中,应该有一个元素。另外,如果 k=r*c ,在每个大小为 n/c 的桶中在哈希表中,应该有r元素。

显然,完美的均匀分布是不可能的......但输出分布不应倾斜。

关于algorithm - 散列技术中散列值的均匀分布是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35030779/

相关文章:

计算随机生成的固定地雷数量扫雷 map 难度的算法

javascript - 在数组中查找最接近给定数字的数字

performance - 具有可变密度的欧几里德数据的简单k最近邻算法?

perl - 钩子(Hook)为 Perl 中的每个哈希查找提供一个值

python - 在 Python 中加密字符串。限制字符只能使用字母数字

java - 单元测试随机数java

c - 将一串单词存储在数据结构中

algorithm - 相同的 BST

sql - 这是什么样的密码哈希/加密?

algorithm - 有效地切割三角剖分(找到子三角剖分)