下面哪个描述是正确的?
- 散列函数采用任意长度的消息并生成固定长度的代码。
- 散列函数采用固定长度的消息并生成可变长度的代码。
- 散列函数可以为不同的消息提供相同的散列值。
(A)我只
(B)仅限 II 和 III
(C)仅 I 和 III
(D)仅 II答案: (C)
解释:
散列函数定义为可用于将任意大小的数据映射到固定大小数据的任何函数。散列函数返回的值称为散列值、散列代码、摘要或简称为散列:语句 1 是正确的
是的,哈希函数有可能将一个值映射到内存中的相同位置,这就是发生冲突的原因,我们有不同的技术来处理这个问题:语句 3 是正确的。
例如:我们有哈希函数,h(x) = x mod 3
根据语句 1,无论 ‘x’ 的值是多少,h(x) 都会导致固定的映射位置。
累积对于语句 3, h(x) 可以导致不同的 ‘x’ 值的相同映射映射位置,例如,如果 x = 4 或 x = 7 ,在两种情况下 h(x) = 1,尽管发生冲突。
该解决方案由Mohit Gupta贡献。
这个问题的测验