2015-04-17 87 views
0

我有一个有向图,例如n×n阶矩阵。
我需要找到其中存在的所有循环以及循环中涉及的顶点。在有向图中找出一个循环中的所有顶点

下面是一个例子:

A B C D  
0 1 1 1  
1 0 1 0  
1 0 0 0  
1 0 0 0  

输出应该类似于:

No.of cycles found : 4 
A->B->A 
A->B->C->A 
A->C->A 
A->D->A 
+0

那么你的问题到底是什么? – ChriPf

+0

我想要算法或逻辑或代码来找到周期中涉及的顶点列表 – user3035457

+0

这是不可能的多时间,因为如果它是那么你可以解决在多时间哈密顿路径问题,并且这个问题是NP完全问题。更简单地说,可能的周期数是巨大的,所以这在多项式时间中是不可能的。你可能会蛮力的(递归地尝试所有的路径)并记录回到源代码并打印出来。有点像DFS,除了你可以多次访问一个节点。不过,即使略微合理的尺寸图也需要很长时间,而且我不确定是否有更快的方法。 – Jimmy

回答

相关问题