问题描述
给定一个迷宫,也即一个矩阵,矩阵中由数字0和1 组成,其中,0表示当前位置可以通行,而1表示当前位置是障碍物,如迷宫中的砖墙,无法通行,再给定一个起点和一个目标点,判断是否存在一个可行的路径,从起点到终点。(注:起点和终点一定可通行,即对一个的位置都是0)
解法
这里使用深度优先搜索+回溯的方法进行可行路径的判断
输入输出及状态说明
0–可通行
1–障碍物
迷宫矩阵5x5
{
{0,1,0,0,1},
{0,0,1,1,1},
{1,0,0,0,0},
{1,0,1,1,0},
{1,0,0,0,0},
}
起点 (0,0)
终点(4,4)
输出
yes–表示从起点到终点存在一条路径
no–表示从起点到终点不存在一条路径
算法描述
/**
* Created by ChaoNi on 2016/9/19.
*/
public class DFS {
//输入的迷宫矩阵
private static int[][] matrix= {
{
0,1,0,0,1},
{
0,0,1,1,1},
{