繁体   English   中英

无向图中的循环数

[英]Number Of Cycles In a Undirected Graph

问题是正如标题所示,该图以“邻接表”形式给出。 我的方法是在任何一个顶点中调用DFS,并且每当我在DFS递归步骤中点击访问的顶点时,我都会从0开始递增全局变量的计数器,并且不为该访问的顶点调用DFS(就像我们通常所做的那样)。 这行得通吗,我在想对吗? 我还没有在互联网上找到任何相关文章,以了解有关无向图中的循环数的信息。

详细说明:我的意思是使用一种简单的DFS方法。 虽然在遇到访问顶点的递归步骤中我们什么也不做,但是我为这种情况增加了counter全局变量值。 我这样做是因为每当遇到访问顶点时,都意味着我要完成一个循环。 我声称:在任何DFS运行中,图中的每个循环仅遇到一次(至少,至少一次)。 我在此索赔中是否正确?

编辑:无后缘

很抱歉,我只针对将来有类似疑问的人发布答案本身的答案:我发现我将多余地计算许多周期,例如:-

    A 
  /   \
B ----- C
  \   /
    D

从A-> B-> C-> DI启动DFS,将周期CBD计数两次。 我还了解到在无向图中查找所有循环的问题是np-hard的。 厄运 :'(

暂无
暂无

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

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