0

我有一个有向图,即 nx 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
4

1 回答 1

0

您应该寻找基本循环,其中没有顶点(除了开始/结束)出现不止一次。在这种情况下,有线性时间算法(节点+边缘线性)。例如,参见http://www.cs.tufts.edu/comp/150GA/homeworks/hw1/Johnson%2075.PDF 。这来自在有向图中查找所有循环的第二个答案,这比第一个恕我直言要好。

于 2015-04-17T14:24:55.170 回答