深度优先和广度优先

简介: 首先要理解搜索步,一个完整的搜索步包括两个处理a) 获得当前位置上,有几条路可供选择b) 根据选择策略,选择其中一条路,并走到下个位置相当于在漆黑的夜里,你只能看清你站的位置和你前面的路,但你不知道每条路能够通向哪里。
首先要理解搜索步,一个完整的搜索步包括两个处理
a) 获得当前位置上,有几条路可供选择
b) 根据选择策略,选择其中一条路,并走到下个位置
相当于在漆黑的夜里,你只能看清你站的位置和你前面的路,但你不知道每条路能够通向哪里。
 
搜索的任务就是,给出初始位置和目标位置,要求找到一条到达目标的路径。
深度优先就是,从初始点出发,不断向前走,如果碰到死路了,就往回走一步,尝试另一条路,直到发现了目标位置。这种不撞南墙不回头的方法,即使成功也不一定找到一条好路,但好处是需要记住的位置比较少。
 
广度优先就是,从初始点出发,把所有可能的路径都走一遍,如果里面没有目标位置,则尝试把所有两步能够到的位置都走一遍,看有没有目标位置;如果还不行,则尝试所有三步可以到的位置。这种方法,一定可以找到一条最短路径,但需要记忆的内容实在很多,要量力而行。
目录
相关文章
|
4天前
|
算法 测试技术 C#
【深度优先搜索】1766. 互质树
【深度优先搜索】1766. 互质树
|
3月前
|
人工智能 算法 BI
【深度优先搜索】【C++算法】834 树中距离之和
【深度优先搜索】【C++算法】834 树中距离之和
|
4月前
|
算法 测试技术 C++
【剪枝】【广度优先】【深度优先】488祖玛游戏
【剪枝】【广度优先】【深度优先】488祖玛游戏
|
5月前
|
算法
树的深度优先和广度优先
树的深度优先和广度优先
17 0
|
10月前
|
算法
【算法】通过递归和非递归实现树的前中后序以及广度优先搜索和深度优先搜索
【算法】通过递归和非递归实现树的前中后序以及广度优先搜索和深度优先搜索
88 0
|
10月前
|
存储 算法 数据库管理
二叉树的遍历算法
二叉树的遍历算法
|
11月前
深度优先遍历与广度优先遍历
深度优先遍历与广度优先遍历
|
存储 算法
算法系列-二叉树遍历
在内卷潮流的席卷下,身为算法小白的我不得不问自己,是否得踏上征程,征服这座巍巍高山。 从零开始,终点不知何方,取决于自己可以坚持多久。 希望你可以和我一样,克服恐惧,哪怕毫无基础,哪怕天生愚钝,依然选择直面困难。
|
算法 异构计算