
近来学习数据结构,书中给出练习题,走出迷宫,很有意思,便摸索了两天,终于,实现了部分功能。
这个图是很直观的,入口在左上角,出口在右下角,只有白色的位置可以走,但一次只能走一格,好了,怎么实现的呢,下面谈谈我的想法吧!
由于之前弄过数独,因此对深度优先颇为喜欢,故而思考在这里能否照搬。
1 为了易于处理,我将上图的迷宫表示成了数字矩阵的格式,就像下面这样
其中的数字0代表该位置不可走,1代表能走的位置,8代表入口,888代表出口。
2 当位于入口的位置时,这时需要判断下一步可以走哪里,这可以定义函数来实现;而为了不出现来回两步走的情况,这里采用的思想为前进一步的同时,删除来向的位置,比如说如果走到8的右边,那么,我就同时把原来位置的数换为-8,表示已走过。