分支回溯——迷宫问题
现有一个9*9的迷宫格子,我们需要从Enter找到Exit,将其存入一个9*9的二维数组内,0代表可以通过的路,1代表墙(不可通行)
同时我们在创建一个9*9的二位布尔数组,进行后续返回用
进入迷宫(1,0)开始循环方向看是否有墙(循环顺序为上、右、下、左),若能通过则在布尔数组内返回为true
循环遍历可行后入栈
如果走到 (1,3)上、下‘、左都遍历完后且无法通行,返回至(1,4),且(1,4)之前通过(布尔数组内为true),则弹栈且返回false表示此路已经走过。
不断循环此过程,代码如下:
public class Maze {
private static int[][] maze = {
{1, 1, 1, 1, 1, 1, 1, 1, 1},
{0, 0, 1, 0, 0, 0, 1, 1, 1},
{1, 0, 1, 1, 1, 0, 1, 1, 1},
{1, 0, 0, 1, 0, 0, 1,
分支回溯——迷宫问题最先出现在Python成神之路。
共有 0 条评论