广度优先搜索(Breadth First Search,简称BFS)是一种用于遍历或搜索树或图的算法。它从树的根(或图中的某个节点)开始,探索邻近的节点,然后再对每个邻近节点做同样的操作,层层递进。这个过程持续进行,直到找到目标节点或遍历完所有节点。
BFS的核心思想是使用队列来实现搜索过程。在搜索的每一步中,算法都会取出队列中的第一个节点,检查它是否为目标节点,如果不是,就将其所有未访问过的邻近节点加入队列。这样,队列中的节点就像是在按层次扩展,先进入队列的节点会先被探索。
这种搜索策略不仅可以用来确定从源节点到目标节点是否存在路径,还可以用来找到最短路径,因为在无权图中,BFS首次访问到的路径便是最短路径。
...大约 4 分钟