数 据 结 构 实 验 报 告 实验三 迷宫 姓名:xxx 学号:xxx 专业:信息安全 实验日期:第十二.三周周日 实验三 迷宫 一、实验目的 1、了解回溯法在求解迷宫问题中的应用 2、进一步掌握栈的使用 二、实验内容 用回溯法求解迷宫问题,可以用一个栈保存探索的序列。并且在该迷宫的行走中,站在一点可以有八个方向选择。 比如如下的迷宫 Enter-> 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0 0 1 0 1 1 0 0 0 1 0 0 1 0 1 1 0 0 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 --> EXIT 下面是可能的路径(注意:从入口到出口可能有多条路径,优先选择的方向不同,路径可能也不一样!) Path: ( maze[0][0], maze[1][0], maze[1][1], maze[1][2], maze[2][2], maze[3][2], maze[3][3], maze[4][3], maze[5][3], maze[6][3], maze[6][4], maze[6][5], maze[5][5], maze[4][5], maze[3][5], maze[2][5], maze[2][6], maze[1][6], maze[0][6], maze[0][7], maze[0][8], maze[1][8], maze[2][8], maze[3][8], maze[4][8], maze[5][8], maze[5][7], maze[6][7], maze[7][7], maze[8][7], maze[8][8], maze[8][9], maze[9][9]) Enter-> X 1 1 1 0 0 X---X---X 0 X---X---X 1 0 0 X 1 X 0 0 1 X 1 1 X---X 1 X 0 0 1 X---X 1 X 1 1 X 0 0 1 0 X 1 X 1 1 X 0 1 1 1 X 1 X 1 X---X 0 0 0 1 X---X---X 1 X 1 1 0 0 1 0 0 0 1 X 1 1 0 1 1 0 1 0 1 X-- X-- X 0 0 0 0 1 0 1 1 0 X --> EXIT 1、提示: (1)数据结构: 用二维数组 MAZE[m+2][n+2]表示迷宫的结构,数组中的值为 1 表示是墙,为 0 表示可以走通。(用 MAZE[m+2][n+2]而不用 MAZE[m][n]的原因在于想表示和编写代码的时候简单些,而且让迷宫周围都是墙,防止错误的走出去) 用二维数组 MARK[m+2][n+2]表示迷宫是否被走过,主要是为了回溯时已经证 明 走 不 通 的 路 线 就 不 要 再 去 走 了 。 ( 用 MARK[m+2][n+2] 而 不 用MARK[m][n]的原因在于想表示和编写代码的时候简单些) 二 维 数 据...