既然您在问题中提到您的最终目标是仅获取这些路径中的节点,而不是路径本身,所以我认为您甚至不必计算路径。
Graphigraph中的对象具有一种称为的方法
subcomponent。默认情况下,它为您提供与给定输入节点处于同一(弱连接)组件中的所有节点。但是,它也有一个
mode论点。设置
mode为时
"out",它将为您提供从某个特定节点可访问的所有节点。设置
mode为时
"in",它将为您提供可以到达某个节点的所有节点。因此,您可能需要源顶点的可到达节点集与可以到达目标顶点的节点集的交集:
s=set(graph.subcomponent(source, mode="out"))t=set(graph.subcomponent(target, mode="in"))s.intersection(t)
无论如何,这可能比计算所有路径更快。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)