规避障碍物遍历所有网格代码
时间: 2024-03-02 08:25:16 浏览: 227
二叉树的创建与遍历C语言实现代码.zip
以下是一个基于深度优先搜索的例子代码:
```python
def traverse(grid):
m, n = len(grid), len(grid[0])
visited = [[False for _ in range(n)] for _ in range(m)]
def dfs(x, y):
visited[x][y] = True
# 处理当前节点
print(grid[x][y])
# 向四个方向递归搜索
for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]:
nx, ny = x + dx, y + dy
if 0 <= nx < m and 0 <= ny < n and not visited[nx][ny] and grid[nx][ny] != '#':
dfs(nx, ny)
# 从每个未访问的节点开始搜索
for i in range(m):
for j in range(n):
if not visited[i][j] and grid[i][j] != '#':
dfs(i, j)
```
注:`'#'`表示障碍物,`True/False`表示节点是否被访问过。
阅读全文