求迷宫从入口到出口的所有路径是一个经典的程序设计问题,求解迷宫,通常采用的是“穷举+回溯”的思想,即从入口开始,顺着某一个方向出发,若能够走通,就继续往前走;若不能走通,则退回原路,换一个方向继续向前探索,直到所有的通路都探寻为止。因此本文依据这种“穷举+回溯”的思想,设计一个求解迷宫的程序。

1 问题分析

为了保证在任何位置上都能够退回原路,显然需要使用一个先进后出的数据结构来保存已经探寻过的位置,因此在程序求解迷宫路径的过程中采用这种数据结构。

迷宫是一个二维地图,其中含有出口和入口,障碍点和通道,因此程序采用一个二位数组map来表示,其中,二维数组值所代表的含义如下:

0:通道    1:起点    2:障碍    3:终点    4:路径

需要注意的是,最后求解出来的通路,必须要是一条简单路径,即在求得的路径上不能重复出现同一通道快。下面简述一下程序的求解过程。

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式