图论环的判断

判断无向图中是否存在回路(环)的算法描述

如果存在回路,则必存在一个子图,是一个环路。环路中所有顶点的度>=2。
有m条边,n个顶点。

如果m>=n,则根据图论知识可直接判断存在环路。

m<n时
将图中为1的顶点全部压入队列
取出队首x点,sum++;(sum表示取出度数为1的点的个数)
然后把x点的所有边相连的y点度数-1,若y点度数减后为1,则压入队列。

队列空后判断sum+度数为0的点是否等于图中点的个数,相等则没有环。
反之相反

判断有向图时(拓扑排序)
同理把入度为0的点全部压入队列,把它的出边的点的入度减1,若该点入度为0
则压入队列,判断最终队列是否压入了全部n个点则没有环,否则相反

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值