在networkx中有这样一个函数
nx.all_simple_paths(G,source=0,target=5)
它返回所有路径,但如果有很多可能的路径,它会工作很长时间。
如何立即获得任意路径?
它不产生all路径,它返回一个生成器,该生成器可能会耗尽以获得all路径。这种区别并不挑剔:这正是我们回答您问题的方式。来自文档 https://networkx.github.io/documentation/networkx-1.9/reference/generated/networkx.algorithms.simple_paths.all_simple_paths.html, all_simple_paths
已经使用深度优先搜索(这就是你想要的)。然后我们可以执行以下操作,
path = next(nx.all_simple_paths(G, source=0, target=5))
这将引发StopIteration
如果不存在路径。也可以看看here https://stackoverflow.com/questions/4741243/how-to-pick-just-one-item-from-a-generator-in-python更多细节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)