使用宽度优先搜索的常见场景

图的遍历 Traversal in Graph

图的遍历,比如给出无向连通图(Undirected Connected Graph)中的一个点,找到这个图里的所有点。这就是一个常见的场景。
LintCode 上的 Clone Graph 就是一个典型的练习题。

更细一点的划分的话,这一类的问题还可以分为:

  • 层级遍历 Level Order Traversal
  • 由点及面 Connected Component
  • 拓扑排序 Topological Sorting

层级遍历,也就是说我不仅仅需要知道从一个点出发可以到达哪些点,还需要知道这些点,分别离出发点是第几层遇到的,比如 Binary Tree Level Order Traversal 就是一个典型的练习题。

由点及面,前面已经提到。

拓扑排序,让我们在后一节中展开描述。

最短路径 Shortest Path in Simple Graph

最短路径算法有很多种,BFS 是其中一种,但是他有特殊的使用场景,即必须是在简单图中求最短路径。
大部分简单图中使用 BFS 算法时,都是无向图。当然也有可能是有向图,但是在面试中极少会出现。

什么是简单图(Simple Graph)?

即,图中每条边长度都是1(或边长都相同)。

 

认识你是我们的缘分,同学,等等,记得关注我。

 

微信扫一扫
关注该公众号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值