软件设计师 · 高频练习

哈希表发生冲突时,链地址法是怎么处理的?

中级 单选题 第 231 题 中等 软件设计师哈希表哈希冲突链地址法
题目

在哈希表中,两个不同关键字经过哈希函数计算后得到相同的存储地址。某实现把映射到同一地址的元素挂在同一个链表中,查找时先定位桶,再在链表中比较关键字。该冲突处理方法通常称为()。

A 链地址法
B 瀑布模型
C 二分查找的结束条件
D 数据库三范式
题目类型:原创高频考点题 用途:用于帮助理解软件设计师相关考点和答案解析,不等同于官方真题。
书木兰刷题练习 适合懒人、小白的刷题通关平台
正确答案
A
答案解析

链地址法也叫拉链法,它把哈希到同一位置的多个元素组织成链表或类似结构。哈希表题不要只背“查找快”,还要知道冲突不可避免,关键在于冲突后如何组织和查找。链地址法的思路比较直观:桶定位很快,同桶内再顺着链找。

选项分析

A

正确。链地址法把同一哈希地址上的元素组织成链表或链式结构。

B

错误。瀑布模型是软件开发过程模型,不是哈希冲突处理方法。

C

错误。二分查找用于有序序列查找,与哈希冲突处理无关。

D

错误。数据库三范式用于关系模式规范化。

本题为什么容易错

这题容易把开放定址法和链地址法混淆。开放定址是在表内继续探测其他空位;链地址法是在桶后面挂链。看到“链表”,答案就很稳。

先看结论

简短答案

哈希表发生冲突时,链地址法是怎么处理的,正确答案是 A(链地址法)。链地址法也叫拉链法,它把哈希到同一位置的多个元素组织成链表或类似结构。哈希表题不要只背“查找快”,还要知道冲突不可避免,关键在于冲突后如何组织和查找。链地址法的思路比较直观:桶定位很快,同桶内再顺着链找。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
链地址法 本题正确答案 正确。链地址法把同一哈希地址上的元素组织成链表或链式结构。 看到题干核心场景时优先联想到它
瀑布模型 本题干扰项 错误。瀑布模型是软件开发过程模型,不是哈希冲突处理方法。 看到该词不要急着选,先判断是否真正解决题干问题
二分查找的结束条件 本题干扰项 错误。二分查找用于有序序列查找,与哈希冲突处理无关。 看到该词不要急着选,先判断是否真正解决题干问题
数据库三范式 本题干扰项 错误。数据库三范式用于关系模式规范化。 看到该词不要急着选,先判断是否真正解决题干问题
本题易混淆选项怎么区分
  • 瀑布模型:错误。瀑布模型是软件开发过程模型,不是哈希冲突处理方法。
  • 二分查找的结束条件:错误。二分查找用于有序序列查找,与哈希冲突处理无关。
  • 数据库三范式:错误。数据库三范式用于关系模式规范化。
复习

知识点详解

链地址法是软件设计师考试中需要结合场景理解的考点。围绕“哈希表发生冲突时,链地址法是怎么处理的”这类题目,复习时要先看题干描述的是概念定义、适用场景、作用效果,还是与其他选项的区别。本题的题干关键词是“在哈希表中,两个不同关键字经过哈希函数计算后得到相同的存储地址。某实现把映射到同一地址的元素挂在同一个链表中,查找时先定位桶,再在链表中比较关键字。该冲突处理方法通常称为()”,它指向的核心答案是 A(链地址法)。

备考速记

备考速记:题干如果强调“链地址法”中的关键目标,就先联想到 链地址法;如果选项里出现 瀑布模型、二分查找的结束条件、数据库三范式,不要只看名称熟悉,要判断它们是否真正对应题干场景。

链地址法在链地址法场景中的作用

链地址法在本题中的核心价值,是解决“在哈希表中,两个不同关键字经过哈希函数计算后得到相同的存储地址。某实现把映射到同一地址的元素挂在同一个链表中,查找时先定位桶,再在链表中比较关键字。该冲突处理方法通常称为()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。

拓展

同类题怎么考

  • 给出链地址法场景,判断应该选择哪个概念、工具、协议或管理过程。
  • 考查链地址法的作用,要求从四个相近选项中找出最符合题干目标的一项。
  • 把链地址法和瀑布模型、二分查找的结束条件、数据库三范式放在一起考,重点看适用场景是否一致。
  • 题干通常会出现一个关键动作或目标,先定位关键词,再回到选项逐一排除。
链地址法在软件设计师软考中的考法

软考选择题通常不会只考概念定义,还会把链地址法放到链地址法场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。

解题思路

题干把方法说得很清楚:相同地址的元素放到一个链表里。老师讲数据结构时会提醒,哈希表的平均效率好,不代表永远 O(1),冲突处理方式会影响实际查找性能。

考点定位

哈希表常考哈希函数、装填因子、冲突处理。看到同一地址挂链表,基本就是链地址法。

易错提醒

  • 认为哈希函数设计好就一定不会冲突。
  • 把链地址法理解成把所有元素放进一个总链表。
  • 忽略装填因子过高会让冲突增多,查找性能下降。

备考提示

  • 软件设计师数据结构题可以把顺序查找、二分查找、哈希查找放在一起比较。
  • 复习哈希表时,重点记链地址法和开放定址法的区别。

你可能还想了解

  • 哈希表发生冲突时,链地址法是怎么处理的?
  • 链地址法是什么?
  • 链地址法在软件设计师考试中怎么考?
  • 软件设计师链地址法题怎么理解?
  • 哈希冲突链地址法怎么考?
  • 哈希表冲突处理方法怎么考?

本文小结

本题核心考点是链地址法在链地址法场景中的判断和应用。遇到类似题目时,先看题干描述的目标,再判断哪个选项最符合场景;本题应选择 A(链地址法)。