寻路算法中的深度优先遍历的简单实现
时间: 2024-01-02 13:21:20 浏览: 63
实现图的遍历算法 深度优先遍历
5星 · 资源好评率100%
以下是寻路算法中深度优先遍历的简单实现:
```python
def dfs(graph, start, end):
visited = set() # 用集合记录已经访问过的节点
stack = [start] # 用栈来存储待访问的节点
while stack:
node = stack.pop() # 取出栈顶节点
if node == end: # 如果找到了终点,直接返回
return True
if node not in visited: # 如果该节点没有被访问过
visited.add(node) # 将其标记为已访问
stack.extend(graph[node] - visited) # 将该节点的未访问邻居加入栈中
return False # 如果遍历完整张图都没有找到终点,返回False
```
其中,`graph`是一个字典,表示图的邻接表;`start`和`end`分别表示起点和终点。
阅读全文