回溯法迷宫问题 思路:利用回溯法和递归思想解决。
- 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构造器(构造方法、构造函数)(精炼而详细)
- Springcloud|(九)SpringCloud系列——分布式事务seata整合实战
- Qt学习|Qt开发简易蓝牙调试助手(低功耗蓝牙)
- Qt学习|Qt用MQTT协议连接阿里云
- Qt学习|Qt学习笔记——绘图设备
- 从内部类内部访问局部变量,需要将其声明为final(java)
- #|C语言每日一练——第195天(折半查找(升级版))
- 如何在Android中使用JSCH(SFTP)将文件上传到服务器
- 如何显示使用JSCH(SFTP)Android进行上传和下载的进度