广度优先遍历算法的完整代码实例
时间: 2024-12-28 18:40:23 浏览: 7
广度优先搜索(Breadth First Search, BFS)是一种用于遍历或搜索树或图数据结构的算法,它按照层级顺序逐层探索节点。这里是一个使用Python实现的BFS算法的简单例子,我们以图的邻接列表表示来编写:
```python
from collections import deque
# 定义图的邻接列表表示
graph = {
'A': ['B', 'C'],
'B': ['D', 'E'],
'C': ['F'],
'D': [],
'E': ['F'],
'F': []
}
def bfs(start_node):
# 初始化队列和已访问集合
queue = deque([start_node])
visited = set()
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从'A'开始遍历
bfs('A')
```
运行这段代码,你会看到从起点`A`开始的BFS路径:`A B D E F C`。
阅读全文