BFS和DFS(一)

BFS(Breadth First Search),DFS(Depth First Search)

BFS 广度优先搜索,DFS 深度优先搜索是两种常用的图搜索算法。

BFS

在图上进行BFS之前,我们先来看一下在树上进行BFS的结果。

对如图一棵树BFS的过程即按层进行遍历的过程。结果为 ABCDEFGH。

 然而,图没有根结点,因此我们需要规定一个节点作为源节点。在这里,我们规定A为源节点。

对该图进行BFS结果为 ABCDEF (通常情况下,BFS结果不唯一,如ACBDEF ,ACBEDF都是BFS的结果)。

虽然BFS的结果不唯一,但如ABCEDF并不是BFS的结果(因为BE之间不相连)。

 

DFS

DFS同BFS一样,同样是从一个节点开始,随便选一条路,直到走到不能走再往回走。

同样以这张图为例,以A为源节点进行DFS,过程为:

总结来说,BFS是一层一层走。DFS是一条路走到黑,直到不能再走时回头。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值