用Python实现牛耕式遍历
时间: 2023-11-19 14:56:29 浏览: 198
牛耕式分区-boustrophedon栅格图分区
可以使用深度优先搜索(DFS)算法来实现牛耕式遍历。以下是用Python实现的示例代码:
```python
def dfs(matrix, i, j, visited):
if i < 0 or i >= len(matrix) or j < 0 or j >= len(matrix[0]) or visited[i][j]:
return
visited[i][j] = True
print(matrix[i][j])
dfs(matrix, i+1, j, visited) # 下
dfs(matrix, i, j+1, visited) # 右
dfs(matrix, i-1, j, visited) # 上
dfs(matrix, i, j-1, visited) # 左
matrix = [[1,2,3],[4,5,6],[7,8,9]]
visited = [[False]*3 for _ in range(3)] # 初始化visited数组
dfs(matrix, 0, 0, visited)
```
这段代码中,`matrix`表示二维矩阵;`visited`表示每个位置是否访问过;`dfs`函数表示深度优先搜索算法。我们从(0,0)开始搜索,每次从当前位置往下、右、上、左四个方向继续搜索,如果某个方向不可达或已经访问过,则返回上一个位置继续搜索。在搜索时,我们依次访问每个位置,并打印出它的值。最终,就可以得到牛耕式遍历的结果。
阅读全文