广度优先搜索遍历代码
时间: 2024-06-23 22:02:20 浏览: 122
广度优先搜索(Breadth-First Search, BFS)是一种用于遍历或搜索树和图的数据结构算法。它的基本思想是从起点开始,逐层遍历节点,直到找到目标节点或者遍历完整个图。下面是使用Python实现的简单BFS遍历的一个例子,以邻接列表表示图:
```python
from collections import deque
def bfs(graph, start):
visited = set() # 记录已访问过的节点
queue = deque([start]) # 使用双端队列存放待访问节点
while queue: # 只要队列不为空,就继续循环
vertex = queue.popleft() # 从队首取出节点
if vertex not in visited:
visited.add(vertex) # 标记为已访问
print(vertex, end=" ") # 输出节点
# 将未访问的相邻节点加入队尾
for neighbor in graph[vertex]:
if neighbor not in visited:
queue.append(neighbor)
# 假设图的邻接列表表示,如字典,键是节点,值是邻居列表
graph = {
'A': ['B', 'C'],
'B': ['D', 'E'],
'C': ['F'],
'D': [],
'E': ['F'],
'F': []
}
bfs(graph, 'A') # 从节点A开始遍历
```
阅读全文