python图的广度优先遍历
时间: 2023-11-21 09:55:53 浏览: 90
以下是Python实现图的广度优先遍历的示例代码:
```python
from collections import deque
# 定义图的邻接表表示
graph = {
'A': ['B', 'C'],
'B': ['D', 'E'],
'C': ['F'],
'D': [],
'E': ['F'],
'F': []
}
# 广度优先遍历函数
def bfs(graph, start):
visited = set() # 记录已访问的节点
queue = deque([start]) # 初始化队列,将起始节点加入队列
visited.add(start) # 标记起始节点为已访问
while queue: # 队列不为空时循环
node = queue.popleft() # 取出队首节点
print(node, end=' ') # 输出节点值
for neighbor in graph[node]: # 遍历当前节点的邻居节点
if neighbor not in visited: # 如果邻居节点未被访问过
visited.add(neighbor) # 标记邻居节点为已访问
queue.append(neighbor) # 将邻居节点加入队列
# 调用广度优先遍历函数
bfs(graph, 'A')
```
输出结果为:A B C D E F
阅读全文