以下哪个方案不能合理解决或缓解哈希表冲突( )。
比较不同排序算法的核心区别:冒泡(相邻交换)、选择(选最值)、插入(插入有序序列)、归并(分治合并)、快排(划分递归)。
排序稳定性指相等元素排序后相对顺序是否改变。稳定:冒泡、插入、归并。不稳定:选择、快排、堆排。
【考点】哈希表|冲突解决|二叉排序树
🎯 考纲定位 本题出自 GESP 七级数据结构模块,考查哈希表冲突解决策略。命题人特意设置"覆盖旧元素"这一明显错误选项,卡住那些只背了"分离链法/线性探测法"但没理解"冲突解决必须保留所有元素"的选手。
🧠 解题思维 看到题先想:哈希表冲突的本质是"多个元素映射到同一位置"。解决冲突必须保证所有元素都能被存储。A、B、C 都在"保留所有元素"的前提下换存储方式(二次哈希、BST、额外表),D 直接覆盖,必然丢失数据,属于无效方案。
🪤 陷阱拆解 陷阱 A 利用"哈希表项"的局部性误导,让人以为换个哈希函数就能"解决"冲突,其实只是把冲突转移到新表;陷阱 C 看似高级,但额外建表仍满足"存储所有冲突元素"的本质;最阴险的是 D,它披着"替换"的外衣,实则违背了哈希表"容纳所有键值对"的基本定义。只背结论的选手,会误以为"覆盖"是"覆盖冲突"的简称,从而掉坑。
🔄 反命题思维 如果命题人把 D 改成"在哈希表项处使用随机数生成器随机替换冲突元素",答案会怎样?依然选 D,因为随机替换无法保证所有元素都能被检索。刷到类似题时,先问自己:这个操作是否保留了所有原始数据?