Johnson的算法如何不是多项式的?

时间:2016-11-15 07:20:38

标签: graph theory np-complete

我在多个答案中读到,在有向图中找到所有周期都是NP完全的,但Johnson的算法在图中找到所有简单周期,在O((V + E)(C + 1)中运行))时间(其中C是图中强连通分量的数量),我认为是多项式,因为E <= V ^ 2且C <= V变为O(V ^ 3),对吗? / p>

Johnson的算法:http://www.cs.tufts.edu/comp/150GA/homeworks/hw1/Johnson%2075.PDF

2 个答案:

答案 0 :(得分:0)

根据您链接的PDF,此处的数量C不是指强连接组件的数量,而是指图表中的简单循环数。换句话说,该算法列出图中的每个c个简单周期,在报告每个周期之前花费最多O(| V | + | E |)时间。由于图中不同简单周期的数量可以指数级大,因此该算法将在最坏情况下以指数时间运行。

答案 1 :(得分:0)

这取决于您的图表。如果您的图是稀疏的,则此算法的顺序为n ^ 2 lgn,如果您的图是密集的n ^ 3。总的来说,该算法适用于稀疏图。