用哈希(散列)方法处理冲突(碰撞)时可能出现堆积(聚集)现象,下列选项中, 会受堆积现象直接影响的是()
A.存储效率
B.散列函数
C.装填(装载)因子
D.平均查找长度
N诺智能批改可自动批改答案并给出反馈,每次使用将消耗 1个诺币
您当前的诺币数量: 个
N诺正在智能批改,预计需要30秒,请稍候...
1. 哈希表基础概念
2. 堆积(聚集)现象
堆积是冲突解决过程中产生的次生问题,分为 “基本聚集” 和 “二次聚集”,核心本质是: 由于冲突解决策略(如开放定址法中的线性探测、二次探测)的特性,导致多个关键字的哈希地址集中在哈希表的局部区域,形成连续的 “占用块”。 例如:线性探测法中,若 Key1 映射到地址 i 且冲突,会依次探测 i+1、i+2… 直到找到空位置;后续若有 Key2 映射到 i+1 冲突,会继续探测 i+2、i+3… 最终 i、i+1、i+2… 形成密集的 “堆积区”。
、解题过程:分析堆积现象对各选项的影响
逐一判断堆积现象是否 “直接影响” 各选项:
1. 选项 A:存储效率(排除)
存储效率侧重 “空间利用率”,即哈希表整体是否浪费空间。 堆积现象是局部区域的关键字密集(如某一区间被占满),但哈希表的 “总容量” 和 “已存储关键字数量” 并未改变(例如:表容量 100,已存 50 个,局部 10 个位置堆积,整体仍有 50 个空闲位置)。 因此,堆积不会改变整体的空间利用率,不影响存储效率。
2. 选项 B:散列函数(排除)
散列函数是 “关键字→地址” 的固定映射规则(如除留余数法:Hash (Key)=Key%10),其逻辑在哈希表创建时就已确定。 堆积是冲突解决策略(如线性探测)导致的结果,而非散列函数本身的问题 —— 即使出现堆积,散列函数对同一关键字的映射结果依然不变。 因此,堆积不会改变散列函数的规则,不影响散列函数。
3. 选项 C:装填因子(排除)
装填因子 α = 已存关键字数 n / 表容量 m,仅由 “n” 和 “m” 两个客观值决定:
4. 选项 D:平均查找长度(正确)
平均查找长度的核心影响因素是 “查找时的探测次数”:
参考答案:D
答案解析:产生...
登录后提交答案