在无向图中查找周期的大O复杂性

时间:2010-10-06 14:53:03

标签: algorithm graph theory big-o

我需要找到在由50个节点组成的无向图中查找所有周期的复杂性。此外,如果图形变大,复杂性是否会发生变化,如果网络变得相当大,将会发生什么变化。另外,如果我只找到几个周期,那么如何找到在图中找到几个周期的复杂性。

感谢您的期待!

2 个答案:

答案 0 :(得分:0)

使用深度优先搜索和主动标记节点,只需注意在搜索中遇到标记节点的任何时间,就可以找到周期。

我认为这是O(V+E)方法,其中V是顶点或节点的数量,E是边或连接的数量。

如果将节点放在堆栈中的特定分支中,则还可以轻松确定循环路径。只需确保每次回溯时都弹出一个节点。

答案 1 :(得分:0)

给定图形可以具有指数周期数(以图形的大小)。考虑二分图,其中v i 连接到w i + 1%n 并且w i 连接到v i + 1 %N

因此,除非你有特定的图形,否则多项式时间解决方案是没有希望的。 在指数时间内运行的解决方案非常容易构建。考虑顶点的所有排列,看看该排序是否导致循环。

当然,实际上你可以提出比这更快的解决方案。