python可视化迷宫找最短路径_利用java算法BFS来求迷宫出口最短路径,python可视化迷宫找最短路径...

利用java算法BFS来求迷宫出口最短路径用java算法BFS寻找迷宫出口的最短路径,

队列的建立

静态队列r=new LinkedList();//创建队列(学习视频分享:java课程)

排队的基本方法

r . offer();队列结束

r . poll();队长

r . peek();组长的内容

代码实现:

全局变量设置

包装二;

导入Java . util . LinkedList;

导入Java . util . queue;

导入Java . util . scanner;

BFS公开课

static int a[][]=new int[100][100];//进入迷宫

static int v[][]=new int[100][100];//及格分数是1

static int startx,starty//输入起点位置

静态int p,q;//输入要到达的坐标位置

static int dx[]={0,1,0,-1 };//方向数组

static int dy[]={1,0,-1,0 };

static queue point r=new LinkedListPoint();//创建队列

静态类点{ //创建类坐标属性

int x;

int y;

int step

}进入迷宫,开始位置和目标位置

公共静态void main(String[] args) {

扫描仪in=新扫描仪(system . in);

int m=in . Nextint();

int n=in。nextInt();

for(int I=1;I=m;I) //进入迷宫

for(int j=1;j=n;j)

a[I][j]=in . Nextint();

startx=in . Nextint();

starty=in . Nextint();//输入目标和起始位置

p=in . Nextint();

q=in . Nextint();BFS算法开始

1、设置组长

//BFS

点start=new point();//定义一个初始类作为队列的领导者

start.x=startx

start.y=starty

start . step=0;

r . offer(start);

v[startx][starty]=1;2.进入循环体

while(!R.isEmpty()) {//队列为空时跳出循环

int x=r.peek()。x;//指定组长的属性

int y=r.peek()。y;

int step=r.peek()。步骤;

If(x==p y==q) {//到达目的地,退出循环

System.out.println(步骤);

打破;

{}

for(int I=0;i4;I) {//广度遍历,右,底,左,右分别

int tx=x dx[I];

int ty=y dy[I];

if(a[tx][ty]==1v[tx][ty]==0){//判断是否可以入队。

//加入团队

point temp=new point();//创建一个临时类

temp.x=tx

temp.y=ty

temp.step=r.peek()。步骤1;

r . offer(temp);//加入团队

v[tx][ty]=1;//标记为1

{}

{}

r . poll();//资料片之后,团队需要先离开团队

{}

{}

}相关推荐:java入门是使用java算法BFS寻找迷宫出口最短路径的详细内容。请多关注其他关于Lei.com PHP知识的相关文章!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值