图中两个节点之间的最长路径

时间:2017-05-21 09:48:52

标签: python networkx

这个问题已经被问到了,但是我想要一些关于它的新意见(以及我得到的一个想法)。

我有一个非循环图(通过使用NetworkX),我需要通过图中的路径迭代(出于各种原因)。

我现在正在做的是为每个nx.all_simple_paths(G, u, v)u迭代v,但如果我的文档正确,则此功能可能会有复杂性到O(n!),这不是......很棒。

所以我的想法是,因为我确切地知道我在图表上做了什么样的操作,以便动态地获得新的路径#34;我在脚本开头创建了所有路径的列表,然后每次进行修改(只能添加弧或删除一个)时,我在路径列表中搜索哪些路径受删除影响一个弧(并删除它们)以及通过添加新弧可以创建哪些路径(如果我有一个新的弧u -> v,我查找以u结尾的所有路径将它们连接到从v开始的所有路径,因此每个操作的复杂性都是多项式的。

现在,我想知道我的想法是否适用于我的问题,如果你有更好的想法可以更简单地做到这一点。

0 个答案:

没有答案