图的遍历---广度优先搜索(BFS)

本文介绍了图的遍历方法之一——广度优先搜索BFS,它与树的按层遍历类似,从某顶点出发,优先访问先被访问顶点的邻接点,遵循步长为1、2、3...的顺序。BFS适用于寻找最优解,如最少步长问题。相比之下,深度优先搜索DFS适合目标明确但不追求最优的场景。
摘要由CSDN通过智能技术生成

上一篇我们讲解了图遍历的深度优先搜索DFS,今天讲另外一个图的遍历方法,即广度优先搜索BFS, 广度优先搜索又叫宽度优先搜索,和树的按层遍历的方法是一样的,在便遍历时图和树的区别上一篇文章已经有所讲过不再复述。

广度优先搜索BFS:假设从图中某个顶点V出发, 在访问了V之后一次访问V的各个未曾访问过的邻接点,然后分别从这些邻接点出发,一次访问他们的邻接点;在遍历这些邻接点的时候必须遵从这样的规则:使得先被访问的顶点的邻接点必须先于后被访问的顶点的邻接点。就是说谁先来的谁的子孙就优先于后来的人的子孙进行访问遍历,在树中就是左子树的所有儿子比子树的儿子先被遍历。继续,重复上述过程直到没有可以被访问的顶点。若图为连通图此时所有顶点都已经被遍历过,但是当图为非联通图时,此时还有空余的顶点没有遍历,所有还需要查看是否有剩余未被标记的顶点,然后依次做为起点进行上述过程,直到图中全部顶点都被标记过为止。说白了BFS就是每次都选取相同最短步长的邻接点进行遍历,步长为1, 2, 3, 4...... 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值