【路径规划】二维深度矩阵寻路算法

使用numpy和简单的深度优先搜索(DFS)算法来解决矩阵寻路问题

import numpy as np


def find_path(matrix, start, end):
    rows, cols = matrix.shape
    path = []
    visited = set()

    def dfs(i, j):
        if (i, j) not in visited and 0 <= i < rows and 0 <= j < cols and matrix[i][j] != 1:
            visited.add((i, j))
            if (i, j) == end:
                path.append(end)
                return True
            path.append((i, j))
            if dfs(i + 1, j): return True
            if dfs(i - 1, j): return True
            if dfs(i, j + 1): return True
            if dfs(i, j - 1): return True
            path.pop()
        return False

    dfs(*start)
    return path



# 示例使用
matrix = np.array([
    [0, 0, 0, 0, 1],
    [0, 1, 0, 1, 0],
    [0, 1, 0, 1, 0],
    [0, 1, 0, 0, 0],
    [0, 0, 0, 0, 0]
])

start = (0, 0)
end = (4, 4)

path = find_path(matrix, start, end)
print(path)

定义了一个find_path函数,它接受一个表示障碍物的矩阵和起点、终点坐标。函数使用深度优先搜索算法寻找一条从起点到终点的路径,并返回一个表示路径的坐标列表。在这个例子中,我们使用了numpy来创建和操作矩阵,并用简单的递归实现了DFS算法。
**【注意】**没有考虑算法优化的问题。可能存在最大递归深度问题!!

相关推荐

  1. 路径规划深度矩阵算法

    2024-06-07 16:54:01       10 阅读
  2. 路径规划】三维深度矩阵算法

    2024-06-07 16:54:01       10 阅读
  3. 算法 & 动态规划 &路径问题】dp问题

    2024-06-07 16:54:01       15 阅读
  4. 路径规划Dijkstra启发式改进算法

    2024-06-07 16:54:01       9 阅读
  5. 路径规划):Dijkstra算法

    2024-06-07 16:54:01       40 阅读
  6. 算法题】74. 搜索矩阵

    2024-06-07 16:54:01       28 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-07 16:54:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-07 16:54:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-07 16:54:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-07 16:54:01       20 阅读

热门阅读

  1. 项目经验,用什么思路去叙述?

    2024-06-07 16:54:01       9 阅读
  2. 观察者模式

    2024-06-07 16:54:01       7 阅读
  3. 【Qt】QPushButton 与 QAction 的区别

    2024-06-07 16:54:01       8 阅读
  4. 删除数组重复元素(哈希方法+双指针)

    2024-06-07 16:54:01       7 阅读
  5. 【C++】【VScode】常用快捷键

    2024-06-07 16:54:01       7 阅读
  6. redis修改密码

    2024-06-07 16:54:01       9 阅读
  7. Python实战:计算向量夹角及相关系数

    2024-06-07 16:54:01       11 阅读