迷宫问题以及状态空间搜索的实现,有赖于栈和队列这些数据结构的支持。

1. 解迷宫问题

解迷宫问题是一种常见智力游戏,也可以视为许多实际问题的反映和抽象。例如:

  • 在公路网或铁路网上查找可行的或最优的路线;
  • 电子地图的路径检索;
  • 计算机网络传输的路由检索;

对于迷宫问题,一般是给定一个迷宫图,包括图中的一个入口点和出口点,要求在图中找到一条从入口到出口的路径。各种具体的迷宫可能具有不同的表面结构,给出的迷宫图各式各样,但问题实质都差不多,都可视为寻路问题。

不难看出,搜索从入口到出口的路径,这种问题具有递归性质

  • 从迷宫的入口开始检查,这是初始的当前位置
  • 如果当前位置就是出口,问题解决;
  • 如果从当前位置已无路可走,当前正在进行的探查失败,需要按照一定方式另行继续搜索,这是迷宫搜索的技术或策略问题;
  • 从可行方向中取一个方向前进一步,从那里继续探索通往出口的路径;
posted on 2016-08-14 18:19  未雨愁眸  阅读(489)  评论(0编辑  收藏  举报