java|迷宫问题java老鼠走迷宫(回溯法,递归,二维数组)(超级容易理解)

回溯法迷宫问题 思路:利用回溯法和递归思想解决。

  • findWay 方法就是专门来找出迷宫的路径
  • 如果找到,就返回 true ,否则返回 false
  • map 就是二维数组,即表示迷宫
  • i,j 就是老鼠的位置,初始化的位置为(1,1)
  • 因为我们是递归的找路,所以我先规定 map 数组的各个值的含义0 表示可以走 1 表示障碍物 2 表示可以走 3 表示走过,但是走不通是死路
  • 递归出口当 map[6][5] =2 就说明找到通路,就可以结束,否则就继续找
  • 先确定老鼠找路策略 下->右->上->左
public class migong{ public static void main(String args[]){ int [][]map = new int[8][7]; //迷宫为一个八行七列的二维数组,墙为1,路为0 for(int i=0; i<7; i++){ map[0][i] = 1; map[7][i] = 1; } for(int i = 0; i<8; i++){ map[i][0] = 1; map[i][6] = 1; } //设计迷宫四周的墙 map[3][1] = 1; map[3][2] = 1; map[3][3] = 1; map[2][3] = 1; map[2][1] = 1; //设置迷宫图形 System.out.println("当前地图:"); for(int i = 0; i

运行结果 【java|迷宫问题java老鼠走迷宫(回溯法,递归,二维数组)(超级容易理解)】java|迷宫问题java老鼠走迷宫(回溯法,递归,二维数组)(超级容易理解)
文章图片

    推荐阅读