python数据结构学习笔记-2016-11-02-02-迷宫问题

        7.4 迷宫问题

        7.4.1 回溯

        蛮力法(brute-force method):穷举所有可能,一一验证。这种方法效率较低。

        回溯法(backtracking):通过部分返回来排除解决问题可能途径进而找出正确途径的过程,例如说解决迷宫问题就可以用回溯法。相应的算法称为回溯算法。

        7.4.2 设计解决方案

        问题细节

  • 首先是确定从起点到终点,是否有路径直达;
  • 该路径不能出现循环或回路。
        当我们在迷宫移动一步时,首先不能碰到墙,其次不能走之前走过的路(分叉路口试验路径时另外考虑)。此外,移动方向只能是上下左右。

        用"x"表示已经走过的路,用"o"表示死路,用"X"表示当前位置。


        算法描述

        寻找出口,从起点出发,检测四周,有哪些方向可走(按上下左右的顺序来检测),找出方向之后,在移动之前,在目前的位置做下标记,如"x"。当遇到死路时,也做下标记"o",然后回到分叉点。如



         从起点到终点,也有可能不存在一条路径。


          迷宫ADT

  • Maze(numRows, numCols):创建迷宫,大小为numRows × numCos,其内所有格子设置为空,起点和终点均为None;<
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值