软件设计师 · 高频练习

广度优先搜索为什么通常用队列实现?

中级 单选题 第 201 题 中等 软件设计师广度优先搜索队列图算法
题目

在无权图中,从起点开始按层访问相邻顶点,先访问距离起点 1 条边的顶点,再访问距离 2 条边的顶点。为了保持这种“先发现、先扩展”的访问顺序,通常使用的数据结构是()。

A 队列
B
C 哈希签名证书
D 位图压缩格式
题目类型:原创高频考点题 用途:用于帮助理解软件设计师相关考点和答案解析,不等同于官方真题。
书木兰刷题练习 适合懒人、小白的刷题通关平台
正确答案
A
答案解析

广度优先搜索 BFS 按层推进,先发现的顶点应先被扩展,因此适合使用先进先出的队列。队列能保证距离起点更近的顶点先处理,再逐层扩展到更远顶点。在无权图中,BFS 还常用于求从起点到其他顶点的最短边数。

选项分析

A

正确。队列的先进先出特性符合 BFS 按层扩展的顺序。

B

错误。栈更适合深度优先搜索 DFS 或递归过程。

C

错误。哈希签名证书与图遍历算法无关。

D

错误。位图压缩格式不是图遍历所需的数据结构。

本题为什么容易错

这题容易被“遍历图”三个字带得太宽。图遍历有 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(队列)。