回 帖 发 新 帖 刷新版面

主题:关与广度深度遍历的,大大们来侃侃

在看到关于广度优先遍历和深度优先遍历时看到这段话
打红警,玩帝国时,指挥坦克或炮车去指定位置,计算机控制坦克通过此算法找到最短路径行进只需要将屏幕分成多个区间并编成号码,实际上从源地址到目标地址就是找到到达目标地址的一串区间号码。这样问题就可以程序化了。
看是看懂了些,可是具体怎么实施呢
比如
0200000000
0000000000
1111110000
0000000000
0000000000
0001111110
0000000000
0110000000
0000001110
0000030000
假设这是个遍过号的地图
有辆坦克在2的位置,现在它要去3的位置
0是陆地,1是水域
然后要最短路径,能不能用深度和广度分别解释下实现的算法呢
提示下也可以

回复列表 (共1个回复)

沙发

用深度实现最短路好像很别扭的样子,就算找到了还不一定是最优解....
至于BFS
dir[4][2]={0,1,0,-1,1,0,1,-1};//方向.
当搜索队列不为空时讨论每一个方向能否行走,能就入队,直到找到目标.当然地图不是很大的话可以用A*来做更快!

我来回复

您尚未登录,请登录后再回复。点此登录或注册