+
95
-

js如何实现走出迷宫算法?

js如何实现走出迷宫算法?

网友回复

+
15
-

实现一个走出迷宫的算法通常可以使用回溯算法、BFS(广度优先搜索)或者DFS(深度优先搜索)。下面是使用DFS来实现的一个JavaScript示例,这种方法适合用于迷宫问题,因为DFS通过探索尽可能深入的路径来寻找解决方案。

迷宫表示

假设我们用一个二维数组表示迷宫,其中 0 表示可以通行的节点,1 表示阻塞的节点,S 是起点,E 是终点。

const maze = [
  ['S', 0, 1, 0, 0],
  [1, 0, 1, 0, 1],
  [0, 0, 0, 0, 0],
  [0, 1, 1, 1, 0],
  [0, 0, 0, 'E', 0]
];
DFS 算法

我们用DFS来遍历迷宫,寻找从起点到终点的路径。

function findPathInMaze(maze) {
  const directions = [
    [0, 1], // 右
    [1, 0], // 下
    [0, -1], // 左
    [-1, 0] // 上
  ];

  const rows = maze.length;
  const cols = maze[0].length;
  let start, end;

  // 找到起点和终点
  for (let i = 0; i < rows; i++) {
    for (let j = 0; j < cols; j++) {
      if (maze[i][j] === 'S') start...

点击查看剩余70%

我知道答案,我要回答