永发信息网

深度优先和广度优先 的区别 ,用法。

答案:3  悬赏:80  手机版
解决时间 2021-03-28 19:08
  • 提问者网友:棒棒糖
  • 2021-03-27 21:27
深度优先和广度优先 的区别 ,用法。
最佳答案
  • 五星知识达人网友:掌灯师
  • 2021-03-27 22:01
首先要理解搜索步,一个完整的搜索步包括两个处理
a) 获得当前位置上,有几条路可供选择
b) 根据选择策略,选择其中一条路,并走到下个位置
相当于在漆黑的夜里,你只能看清你站的位置和你前面的路,但你不知道每条路能够通向哪里。

搜索的任务就是,给出初始位置和目标位置,要求找到一条到达目标的路径。
深度优先就是,从初始点出发,不断向前走,如果碰到死路了,就往回走一步,尝试另一条路,直到发现了目标位置。这种不撞南墙不回头的方法,即使成功也不一定找到一条好路,但好处是需要记住的位置比较少。

广度优先就是,从初始点出发,把所有可能的路径都走一遍,如果里面没有目标位置,则尝试把所有两步能够到的位置都走一遍,看有没有目标位置;如果还不行,则尝试所有三步可以到的位置。这种方法,一定可以找到一条最短路径,但需要记忆的内容实在很多,要量力而行。
全部回答
  • 1楼网友:神鬼未生
  • 2021-03-27 23:43
DFS:一个网格内的点跳着来搜
BFS:一个网格内的点由一点扩散地搜
  • 2楼网友:玩世
  • 2021-03-27 23:08
用通俗的语言来讲:
深度优先:发现一条路一直走到终点,再返回到最深的有分支的点再进行其他分支的搜索,直到搜索完毕。
广度优先:从开始节点a找与它相邻的节点全部节点,假设有b,c,d,e,然后再找b所有未遍历的相邻的节点,然后再找c的,依次进行下去
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯