首页 > 解决方案 > python networkx:如何获得随机路径?

问题描述

在networkx中有这样的功能

nx.all_simple_paths(G,source=0,target=5)

它返回所有路径,但如果有很多可能的路径,它将工作很长时间。

一个人怎么能立即得到任何路径?

标签: pythonnetworkx

解决方案


它不会产生所有路径,它会返回一个生成器,该生成器可能会被耗尽以获取所有路径。区别并不挑剔:这正是我们可以回答您的问题的方式。从文档中,all_simple_paths已经使用了深度优先搜索(这就是你想要的)。然后我们可以执行以下操作,

path = next(nx.all_simple_paths(G, source=0, target=5))

StopIteration如果不存在路径,这将引发一个。另请参阅此处了解更多详细信息。


推荐阅读