【问题标题】:How is Johnson's algorithm not polynomial?约翰逊的算法怎么不是多项式的?
【发布时间】:2016-11-15 07:20:37
【问题描述】:

我在多个答案中读到,在有向图中找到所有循环是 NP 完全的,但是 Johnson 的算法在 O((V+E)(C+1) 中运行,它在图中找到所有简单循环)) 时间(其中 C 是图中强连通分量的数量),我认为这是多项式,因为 E

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

【问题讨论】:

标签: graph theory np-complete


【解决方案1】:

根据您链接的PDF,这里的数量C不是指强连通分量的数量,而是指图形中简单循环的数量。换句话说,该算法列出了图中的每个 c 个简单循环,在报告每个循环之前最多花费 O(|V| + |E|) 时间。由于图中不同简单循环的数量可能呈指数级增长,因此该算法在最坏情况下将在指数时间内运行。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2019-06-20
      • 2019-02-08
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      相关资源
      最近更新 更多