在无权图中,从起点开始按层访问相邻顶点,先访问距离起点 1 条边的顶点,再访问距离 2 条边的顶点。为了保持这种“先发现、先扩展”的访问顺序,通常使用的数据结构是()。
广度优先搜索 BFS 按层推进,先发现的顶点应先被扩展,因此适合使用先进先出的队列。队列能保证距离起点更近的顶点先处理,再逐层扩展到更远顶点。在无权图中,BFS 还常用于求从起点到其他顶点的最短边数。
选项分析
正确。队列的先进先出特性符合 BFS 按层扩展的顺序。
错误。栈更适合深度优先搜索 DFS 或递归过程。
错误。哈希签名证书与图遍历算法无关。
错误。位图压缩格式不是图遍历所需的数据结构。
本题为什么容易错
这题容易被“遍历图”三个字带得太宽。图遍历有 BFS 和 DFS,关键区别不在于都访问节点,而在于访问顺序:BFS 一层一层,DFS 一条路先走到底。
简短答案
广度优先搜索为什么通常用队列实现,正确答案是 A(队列)。广度优先搜索 BFS 按层推进,先发现的顶点应先被扩展,因此适合使用先进先出的队列。队列能保证距离起点更近的顶点先处理,再逐层扩展到更远顶点。在无权图中,BFS 还常用于求从起点到其他顶点的最短边数。
易混淆概念对比表
| 概念 | 本题判断 | 区别要点 | 记忆提示 |
|---|---|---|---|
| 队列 | 本题正确答案 | 正确。队列的先进先出特性符合 BFS 按层扩展的顺序。 | 看到题干核心场景时优先联想到它 |
| 栈 | 本题干扰项 | 错误。栈更适合深度优先搜索 DFS 或递归过程。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
| 哈希签名证书 | 本题干扰项 | 错误。哈希签名证书与图遍历算法无关。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
| 位图压缩格式 | 本题干扰项 | 错误。位图压缩格式不是图遍历所需的数据结构。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
本题易混淆选项怎么区分
- 栈:错误。栈更适合深度优先搜索 DFS 或递归过程。
- 哈希签名证书:错误。哈希签名证书与图遍历算法无关。
- 位图压缩格式:错误。位图压缩格式不是图遍历所需的数据结构。
知识点详解
图算法是软件设计师考试中需要结合场景理解的考点。围绕“广度优先搜索为什么通常用队列实现”这类题目,复习时要先看题干描述的是概念定义、适用场景、作用效果,还是与其他选项的区别。本题的题干关键词是“在无权图中,从起点开始按层访问相邻顶点,先访问距离起点 1 条边的顶点,再访问距离 2 条边的顶点。为了保持这种“先发现、先扩展”的访问顺序,通常使用的数据结构是()”,它指向的核心答案是 A(队列)。
备考速记
备考速记:题干如果强调“图算法”中的关键目标,就先联想到 图算法;如果选项里出现 栈、哈希签名证书、位图压缩格式,不要只看名称熟悉,要判断它们是否真正对应题干场景。
图算法在图算法场景中的作用
图算法在本题中的核心价值,是解决“在无权图中,从起点开始按层访问相邻顶点,先访问距离起点 1 条边的顶点,再访问距离 2 条边的顶点。为了保持这种“先发现、先扩展”的访问顺序,通常使用的数据结构是()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。
同类题怎么考
- 给出图算法场景,判断应该选择哪个概念、工具、协议或管理过程。
- 考查图算法的作用,要求从四个相近选项中找出最符合题干目标的一项。
- 把图算法和栈、哈希签名证书、位图压缩格式放在一起考,重点看适用场景是否一致。
- 题干通常会出现一个关键动作或目标,先定位关键词,再回到选项逐一排除。
图算法在软件设计师软考中的考法
软考选择题通常不会只考概念定义,还会把图算法放到图算法场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。
解题思路
题干里的关键词是“按层访问”和“先发现、先扩展”。队列正好是先进先出,能让早进入等待处理的顶点先被处理。轻松一点说,BFS 像排队扩散消息,一层一层往外走,不是一路钻到底。
考点定位
BFS 看按层访问和队列;DFS 看沿一条路径深入和栈或递归。软设题常把 BFS、DFS、队列、栈放在一起考。
易错提醒
- 把 BFS 和 DFS 的数据结构记反。
- 只记队列先进先出,却不会把它和按层访问联系起来。
- 把无权图最短路径和带权图 Dijkstra 混在一起。
备考提示
- 看到层次遍历、最少边数、无权图最短路径,优先想到 BFS。
- 看到回溯、路径搜索、递归深入,优先想到 DFS。
你可能还想了解
- 广度优先搜索为什么通常用队列实现?
- 图算法是什么?
- 图算法在软件设计师考试中怎么考?
- 软件设计师图算法题怎么理解?
- 广度优先搜索为什么用队列怎么考?
- BFS和DFS区别怎么考?
本文小结
本题核心考点是图算法在图算法场景中的判断和应用。遇到类似题目时,先看题干描述的目标,再判断哪个选项最符合场景;本题应选择 A(队列)。