java实现寻路

这是一个Java程序,实现了基于深度优先搜索的图寻路算法。它使用一个二维数组表示图,并通过Stack进行回溯,寻找从起点到终点的路径。当无法继续前进时,会回退到上一步,直到找到可行路径或所有路径都尝试完毕。
摘要由CSDN通过智能技术生成

package com.person.appframework.test;

import java.util.Stack;

/**
 * 图寻路算法
 * 深度回溯
 * @author wuwhe
 *
 */
public class GraphPath {

 private int[][] block;

 /** 高度 */
 private int maxHeight;

 /** 宽度 */
 private int maxWidth;
 /** 结束x坐标 */
 private int targetx = 9;
 /** 结束y坐标 */
 private int targety = 9;
 /** 回溯节点需要的路径 */
 private Stack stack = new Stack();
 /** 开始坐标 */
 private int startx;
 /** 结束时间 */
 private int starty;
 /** 状态保存 */
 private NodeInfo[][] table=null;

 private boolean isCompelet = true;

 private boolean result = false;
 

 GraphPath(int[][] grapdata) {
  this.block = grapdata;
  this.maxHeight = block.length;
  this.maxWidth = block[0].length;
  table = new NodeInfo[maxHeight][maxWidth];
  // initTable();

 }

 /**
  * 初始化路径的表格
  */
 public void initTable() {
  for (int i = 0; i < maxHeight; i++)
   for (int j = 0; j < maxWidth; j++) {
    NodeInfo node = new NodeInfo();
    node.tagx = i;
    node.tagy = j;
    table[i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值