散列技术中散列值的均匀分布是什么意思
What is meant by uniform distribution of hash values in Hashing technique
在Hashing中,这个哈希值的均匀分布是什么意思。 请用适当的例子通俗易懂地解释一下。
谢谢
这只是意味着,如果您有一定大小的 hash-table(比如说 n
),那么如果您要散列 k
个值 k<n
,那么:
A sequence of outputs from the function must appear to be a random sequence, even if the input numbers are sequential
此外,哈希函数的基本原则应该是尽量减少冲突,但同时,对于倾斜的输入,hash-function 的输出应该是分布式的。
编辑:
正如所问,这是均匀分布的意思。比如说,如果 hash-table 的大小是 n
并且你将 k (<n)
个元素推送给它,那么在散列 table 中的每个 n/k
桶中,应该有成为一个元素。此外,如果 k=r*c
,在散列 table 中每个大小为 n/c
的桶中,应该有 r
个元素。
显然,完美的均匀分布是不可能的...但输出分布不应倾斜。
在Hashing中,这个哈希值的均匀分布是什么意思。 请用适当的例子通俗易懂地解释一下。
谢谢
这只是意味着,如果您有一定大小的 hash-table(比如说 n
),那么如果您要散列 k
个值 k<n
,那么:
A sequence of outputs from the function must appear to be a random sequence, even if the input numbers are sequential
此外,哈希函数的基本原则应该是尽量减少冲突,但同时,对于倾斜的输入,hash-function 的输出应该是分布式的。
编辑:
正如所问,这是均匀分布的意思。比如说,如果 hash-table 的大小是 n
并且你将 k (<n)
个元素推送给它,那么在散列 table 中的每个 n/k
桶中,应该有成为一个元素。此外,如果 k=r*c
,在散列 table 中每个大小为 n/c
的桶中,应该有 r
个元素。
显然,完美的均匀分布是不可能的...但输出分布不应倾斜。