【问题标题】:How to traverse all the paths between two specified vertices in a graph? [duplicate]如何遍历图中两个指定顶点之间的所有路径? [复制]
【发布时间】:2014-12-27 06:33:14
【问题描述】:

鉴于图是有向图。我想找到最有效的算法。 感谢帮助! 也许我们可以在 O(V+E) 内完成

【问题讨论】:

  • 在最坏的情况下,路径将成倍增加,作为V 的函数。在O(V+E) 中遍历它们有点乐观。
  • Floyd-Warshall 来救援!...
  • @Rerito No. Floyd Warshall 是 All to all 最短路径,而这个问题是关于一二一的所有路径。

标签: algorithm graph


【解决方案1】:

考虑这个图表。 s 和 t 之间的路径数为 2^(菱形数),其中每个菱形都是一个矩形。因为,3*(钻石数量)+ 1 = n,没有。钻石数 = (n-1)/3。所以,s 和 t 之间有 2^(n-1/3) 条路径。

这证明你的问题永远不可能在线性时间内完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    相关资源
    最近更新 更多