图的路径搜索问题python代码
时间: 2024-12-13 21:28:30 浏览: 16
图的路径搜索问题通常是指寻找从起点到终点的最短路径或所有可达路径的问题,比如常见的广度优先搜索(BFS)和深度优先搜索(DFS),以及更复杂一些的Dijkstra算法、Floyd-Warshall算法或A*算法等。以下是使用Python实现BFS算法的一个简单例子:
```python
from collections import deque
def bfs(graph, start, end):
visited = set()
queue = deque([start])
while queue:
vertex = queue.popleft()
if vertex not in visited:
visited.add(vertex)
if vertex == end:
return True
for neighbor in graph[vertex]:
queue.append(neighbor)
return False # 如果遍历完整个图都没有找到end,返回False
# 示例:一个简单的邻接列表表示的图
graph = {
'A': ['B', 'C'],
'B': ['D', 'E'],
'C': ['F'],
'D': [],
'E': ['F'],
'F': []
}
start_node = 'A'
end_node = 'F'
if bfs(graph, start_node, end_node):
print(f"存在从{start_node}到{end_node}的路径")
else:
print(f"不存在从{start_node}到{end_node}的路径")
阅读全文