【发布时间】:2015-11-07 18:34:16
【问题描述】:
我有一个DiGrraph,我想在我指定的两个节点之间修剪不包含在simple paths 之一中的任何节点。 (另一种思考方式是,任何无法同时到达start 和end 点的节点都应该被修剪)。
我发现做到这一点的最佳方法是获取all_simple_paths,然后使用它们重建一个新图形,但我希望有一个更优雅且不易出错的解决方案。例如,有没有办法确定什么不在简单路径上,然后删除这些节点?
【问题讨论】:
-
我不知道怎么做。但是
all_simple_paths返回一个生成器,所以你只需要使用 next(..) 来查询它。然后,如果您的图不将数据存储在节点上,则获取子图是单行的。 -
你能扩展一下吗?我没有在节点上存储数据,但我不确定你在想什么单线。不过听起来很有希望!
-
我会回复的。