现在的位置: 首页 > 综合 > 正文

深度优先和广度优先的理解

2014年09月05日 ⁄ 综合 ⁄ 共 433字 ⁄ 字号 评论关闭

本段话转自百度知道一个网友的回答,因为回答的实在是太通俗到位了,所以就贴过来了。


问题如下:
深度优先和广度优先的区别、用法。
回答如下:
首先要理解搜索步,一个完整的搜索步包括两个处理 
a) 获得当前位置上,有几条路可供选择
b) 根据选择策略,选择其中一条路,并走到下个位置 
相当于在漆黑的夜里,你只能看清你站的位置和你前面的路,但你不知道每条路能够通向哪里。  
搜索的任务就是,给出初始位置和目标位置,要求找到一条到达目标的路径。
深度优先就是,从初始点出发,不断向前走,如果碰到死路了,就往回走一步,尝试另一条路,直到发现了目标位置。这种不撞南墙不回头的方法,即使成功也不一定找到一条好路,但好处是需要记住的位置比较少。 
广度优先就是,从初始点出发,把所有一步能够到的位置都走一遍,如果里面没有目标位置,则把所有两步能够到的位置都走一遍,看有没有目标位置;如果还不行,则所有三步可以到的位置......这种方法,一定可以找到一条最短路径,但需要记忆的内容实在很多,要量力而行。

抱歉!评论已关闭.