迷宫问题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][
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写代码两年半

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值