繁体   English   中英

无向图中的总循环

[英]Total cycles in a Undirected graph

给定一个具有N个顶点和M个边的无向图,我需要找到图中的循环数。 但是有一个约束。

这是一个示例:考虑具有6个顶点和7个边对的图形:-AB,BC,CF,AD,DE,EF,BE。

这是更好理解的图像: 在此处输入图片说明

然后在这里应计算两个周期,即ABEDA和BCFEB,而不是ABCFEDA

因此,我需要在图中找到总周期数。

我认为您正在寻找图形的周期基础 通过查找图的任何生成树(例如DFS或BFS树)来实现。 图的非树边缘代表循环基础:如果通过树上的唯一路径连接端点,则将获得基础元素。

因此,如果连接了图,则基本元素的数量为m - n + 1 (m =边数,n =节点数)。 如果未连接,只需将其分解为已连接的组件,然后汇总这些组件的基本元素的数量。 您会得到类似m - n + c ,其中c是连接的组件数。 因此,如果您对实际周期不感兴趣,而仅对周期数感兴趣,则只需查找已连接组件的数量即可。 您也可以使用DFS或BFS。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM