资 源 简 介
迷宫问题
任务:可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;
要求:
在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;
[问题描述]
走迷宫是实验心理学中一个古典问题。用计算机解迷宫路径的程序,就是仿照人走迷宫而设计的,也是对盲人走路的一个机械模仿。
[实现提示]
假设迷宫是一个矩形,我们把它分成许多小方格,在每个小方格上或者已筑成墙或者没有,这就成为一个迷宫。走迷宫就是从一个小方格沿前后左右四个方向到邻近的方格,当然不能穿墙。设迷宫的入口是在西北角那个方格,而出口是东南角那个方格。在计算机中,迷宫可用一个矩阵表示。若某小方格是墙,则相应数组变量标为 0,否则为字符1,表示可走的路。现在要编写一个程序,寻找一条从入口到出口的路线。我们可提出如下一般性问题寻找:一条从任何给定的方格到出口的路线。基本思想是: 在当前位置上向四个(或八个)方位探测前进方位,向探测到的通路方位前进一步,如此循环,直到迷宫的“出口”,或判断后宣布这是一个不存在通路的死迷宫。