为提高哈希(Hash)表的查找效率,可以采取的正确措施是______。
Ⅰ.增大装填因子
Ⅱ.设计冲突少的哈希函数
Ⅲ.处理冲突时避免产生堆积现象
A. 仅Ⅰ
B. 仅Ⅱ
C. 仅Ⅰ、Ⅱ
D. 仅Ⅱ、Ⅲ
N诺智能批改可自动批改答案并给出反馈,每次使用将消耗 1个诺币
您当前的诺币数量: 个
N诺正在智能批改,预计需要30秒,请稍候...
装填(载)因子α越大,发生冲突的可能性越大,所以Ⅰ错误。因为哈希表是由哈希函数和处理冲突两部分组成的,查找效率与这两部分有关,所以Ⅱ和Ⅲ是正确的。选D
为提高哈希表的查找效率,正确的措施是: **Ⅱ.设计冲突少的哈希函数** **Ⅲ.处理冲突时避免产生堆积现象** ### 解释: 1. **Ⅱ. 设计冲突少的哈希函数:** - 设计一个好的哈希函数可以尽量减少碰撞(同义词)的发生,从而提高查找效率。好的哈希函数会将键均匀分布到哈希表的不同位置,减少冲突的概率。 2. **Ⅲ. 处理冲突时避免产生堆积现象:** - 当发生冲突时,处理方法的选择非常重要。如果使用开放地址法,线性探测可能会导致“堆积”现象(即多个冲突的键聚集在一起,形成一个连续的块)。通过使用二次探测或双重哈希等方法,可以有效减少堆积现象,提高查找效率。 ### 错误选项: 1. **Ⅰ. 增大装填因子:** - **增大装填因子**(Load Factor)指的是在不增加哈希表大小的情况下增多存储的元素数目,导致每个槽可能会有更多的元素。增大装填因子通常会导致更多的冲突,进而降低查找效率。所以,正确的做法是控制装填因子,使其保持在一个较低水平(通常是0.7以下),以减少冲突。 ### 结论: 选择 **Ⅱ** 和 **Ⅲ** 是正确的措施,而 **Ⅰ** 不应采取,因此正确的答案是 **Ⅱ 和 Ⅲ**。
这题是否有问题?@admin
admin 回复 amden: 已修正,题目有点争议,建议选B
Martin299 回复 admin: 为什么不能 避免??避免的是堆积,不是冲突啊
1544,一样的题选B,为什么这里就选D了
zhangbou 回复 悠哉悠哉小碧绿: 选b吧,可能是因为无法避免,只能减少
本题有争议
减小装填因子可以...
登录后提交答案