|
3.2.3 迷宫求解问题
计算机解迷宫时,通常用的是"穷举求解"的方法,即从入口出发,顺某一方向向前探索,若能走通,则继续往前走;否则沿原路退回,换一个方向再继续探索,直至所有可能的通路都探索到为止,如果所有可能的通路都试探过,还是不能走到终点,那就说明该迷宫不存在从起点到终点的通道。先看两个动画演示的例子。
从演示过程可见:
1.从入口进入迷宫之后,不管在迷宫的哪一个位置上,都是先往东走,如果走得通就继续往东走,如果在某个位置上往东走不通的话,就依次试探往南、往西和往北方向,从一个走得通的方向继续往前直到出口为止;
2.如果在某个位置上四个方向都走不通的话,就退回到前一个位置,换一个方向再试,如果这个位置已经没有方向可试了就再退一步,如果所有已经走过的位置的四个方向都试探过了,一直退到起始点都没有走通,那就说明这个迷宫根本不通;
|
|
|
你做过迷宫的游戏吗?你从入口进去之后是如何找到出口的? |
|
|
如果你是在一点也不了解迷宫结构的情况下去走迷宫的话,显然只能是摸索着前进,比如先往一个方向走,若走不通那就只能退回来再试试另一个方向。但在走的过程中你一定会有意识地"记住"
你已经走过的路,否则你会被困在迷宫中永远也走不出来了,对吗?那么现在就让我们来看看计算机是如何解迷宫的吧! |
|
|
|