社区
数据结构与算法
帖子详情
对于一个有向图,不用拓扑排序,如何判断图中是否存在环?
wqb1979
2002-07-07 10:06:07
清华研究生入学考试题
...全文
1290
5
打赏
收藏
对于一个有向图,不用拓扑排序,如何判断图中是否存在环?
清华研究生入学考试题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wqb1979
2002-07-07
打赏
举报
回复
多谢两位的回答,结帖
atlantis13579
2002-07-07
打赏
举报
回复
应该用图论的方程做
设这个图的邻接矩阵是A
则G不含环当且仅当A,A^2,A^3,.....,A^n这n个矩阵的对角元素都是0
原理如下:
G是有向图,A的第(i,j)个元素a(i,j)是vi到vj的长度为1的链的个数
A^2的(i,j)个元素
a2(i,j)=a(1,i)*a(i,1)+a(2,i)*a(i,2)+...+a(n,i)*a(i,n)
显然,vi到vj的每一条长度为2的链看成两条长度为1的链相连,所以共有
a(1,i)*a(i,1)+a(2,i)*a(i,2)+...+a(n,i)*a(i,n)条,就是a2(i,j)
同理可证,ak(i,j)表示vi到vj的长度为k的链的个数
特别地令i=j
ak(i,i)就是通过vi的长为k的环的个数
显然,若有n个顶点图G存在一个环,则必存在一个长度不超过n的环
因此,G不含环当且仅当A,A^2,A^3,.....,A^n这n个矩阵的对角元素都是0
例如一个图G={{1,2,3},{12,23,31}}
A=[0 1 0;0 0 1;1 0 0]
A^2=[0 0 1;1 0 0;0 1 0]
A^3=[1 0 0;0 1 0;0 0 1]的(1,1)元素不是0,表示G有一个通过v1的长为3的环
langhaixin
2002-07-07
打赏
举报
回复
判断一个有向图是否有连通分量
就可以判断是否有环了
求连通分量就是对一个有向图的遍历问题
可以用深度或是广度优先遍历来做!
wqb1979
2002-07-07
打赏
举报
回复
能具体说说吗?
love_aming
2002-07-07
打赏
举报
回复
还可以用深度优先遍历来实现
有向
图
的
拓扑
排序
判断
是否
存在
环
AOV网,
判断
网
中
是否
存在
环
否则打印出
拓扑
序列
图
的
拓扑
排序
和有向无
环
图
的
判断
采用的方法是
图
的经典数据结构,若是有向无
环
图
DAG则输出一个
拓扑
排序
。若不是DAG则输出其
中
的一个
环
。
OpenCV
图
像处理基础——基于C++实现
OpenCV
图
像处理基础——基于C++实现版本视频培训课程概况:教程
中
会讲解到OpenCV的基础知识及使用方法,并基于OpenCV实现基础的
图
像处理算法;除此之外课程包含如下的内容:
图
像颜色空间及类型转换及应用(BGR、YUV、YCrCb颜色空间、人像肤色检测)、
图
像直方
图
及其应用(直方
图
均衡化、色阶及对比度调节)、
图
像几何变换(平移、翻转、缩放等)、
图
像滤镜操作(卡通特效、畸变
图
像、马赛克)、
图
像滤波处理(人像磨皮、美颜)、
图
像形态学操作、多尺度及
图
像金字塔及视频操作处理等。下方的
拓扑
图
给出了课程的章节目录及每一章
中
各个小节涉及到的主要内容:
利用
拓扑
排序
算法判别有向
环
拓扑
排序
算法判别有向
图
中
是否
存在
有向
环
。 实验课上写的,绝对可用!!
拓扑
排序
-课程设计(源码、课程设计说明书)
题目内容:输出有向网的
拓扑
排序
序列。
拓扑
排序
的基本思想为: 1)从有向
图
中
选出一个无前驱的顶点输出; 2)将此顶点和以他为起点的弧删除; 3)重复1)2)直到不
存在
无前驱的顶点; 4)若此时输出的顶点数小于有向
图
中
的顶点数,则说明有向
图
中
存在
回路,否则输出的顶点的顺序即为一个
拓扑
序列。 基本要求:建立一个有向
图
,
判断
该
图
是否
存在
环
,如果不
存在
环
,输出它的
拓扑
有序序列;如
存在
环
,给出
存在
环
路的信息。 实验目的:利用所学C语言和数据结构的相关知识,输出有向网的
拓扑
排序
序列。
数据结构与算法
33,010
社区成员
35,327
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章