社区
数据结构与算法
帖子详情
如何用BFS判断有向图中是否有环(DFS的不用说了...)?
qingyaoli
2008-10-23 05:17:57
RT
...全文
2678
6
打赏
收藏
如何用BFS判断有向图中是否有环(DFS的不用说了...)?
RT
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Debugcool
2012-01-19
打赏
举报
回复
因为是有向图,问题就变得很简单了,直接正常BFS,如果遇到之前已经遇到过的点的话,就证明图中有环。
nikun_
2012-01-18
打赏
举报
回复
LZ说的是拓扑排序吗?
Starry314
2012-01-09
打赏
举报
回复
用BFS遍历有向图,遍历过的点hash掉。。
如果新遍历的点已经被hash过了,那么就出现环了。。
假设u->v
当遍历到v的时候,v被hash过了,那么就出现环了。。。
如果要打印出环的话,那么就需要记录每个点的前驱。然后从u点递归上去,当递归到v的时候,开始回溯,在回溯的过程输出每个点就好了。。
下午有考试,代码就不写了。。
RKJ
2012-01-08
打赏
举报
回复
2
[Quote=引用 1 楼 zeninpalm 的回复:]
奇怪,居然没有人回答!很简单,每次新添加一层节点后,检查是否当中任何一个节点与同一层另一个节点之间有边,若有,必是一个环。如果要打印出这个环,在做BFS的同时,每添加一个节点v进来,为该节点记录(u,v),u是与v相连的上层节点,检测到环后,只要分别顺着v1,v2两个节点的上层节点列表,直到为同一个为止
[/Quote]
1楼的回答恐怕不行吧,如A->B,A->C,B->C显然符合你说的情况,但A、B、C不构成环啊。
wendyyue1986
2008-10-26
打赏
举报
回复
楼主正解
ZenInPalm
2008-10-24
打赏
举报
回复
奇怪,居然没有人回答!很简单,每次新添加一层节点后,检查是否当中任何一个节点与同一层另一个节点之间有边,若有,必是一个环。如果要打印出这个环,在做BFS的同时,每添加一个节点v进来,为该节点记录(u,v),u是与v相连的上层节点,检测到环后,只要分别顺着v1,v2两个节点的上层节点列表,直到为同一个为止
【算法学习】图论专题
判断
无向图
中
环的存在、环的输出
文章目录一、无向图 Detect Cycle in a Undirected Graph1.
DFS
(1)
判断
环的存在(2) 输出环路2.
BFS
(1)
判断
环的存在3. Union-Find(1) 原理讲解(2) 代码实现二、
有向图
Detect Cycle in a Directed Graph1. Detect Cycle in a Directed GraphDetect Cycle in a Directed Graph using
BFS
Detect Cycle in a directed g
【数据结构——
有向图
】
有环
无环判定、拓扑排序(
DFS
、
BFS
)
有向图
(Directed Graph),也被称为
有向图
形或方向图,是一种图的类型。在
有向图
中
,图
中
的边具有方向,从一个顶点指向另一个顶点。在
有向图
中
,每个顶点表示一个实体,而有向边则表示实体之间的关系或连接。这种有方向性的边表明了连接的起点和终点之间的单向关系。因此,
有向图
中
的边具有起点和终点的概念,它们不能逆转方向。与
有向图
对应的是无向图(Undirected Graph),在无向图
中
,边是没有方向的,可以双向移动。相比之下,
有向图
更适合描述具有明确方向性的关系,例如有向的路径、进程之间的依赖关系等。
【图】
有向图
是否
存在环(
DFS
和
BFS
解法)
有向图
是否
存在环 LeetCode题目:207. Course Schedule 题目链接:https://leetcode.com/problems/course-schedule/ 题目大意: 现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课...
为什么深度优先搜索可以判定简单图
中
是否
有环
,而宽度优先搜索不行?
为什么深度优先搜索可以判定简单图
中
是否
有环
,而宽度优先搜索不行?
判断
无向图和
有向图
是否
有回路
一、无向图回路的
判断
对于无向图,
判断
其
是否
有回路有两种方法,如下所示: 1、利用深度优先搜索
DFS
,在搜索过程
中
判断
是否
会出现后向边(
DFS
中
,连接顶点u到它的某一祖先顶点v的边),即在
DFS
对顶点进行着色过程
中
,若出现所指向的顶点为黑色,则此顶点是一个已经遍历过的顶点(祖先),出现了后向边,若完成
DFS
后,则图
中
有回路;另外,无环图
中
变的个数E 2、在图的邻接表表
数据结构与算法
33,025
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章