首页 > 解决方案 > 如何优化在 python 中的 Networkx 库中提取 all_simple_paths?

问题描述

我有一个有向图G和所有源和目标的列表。源和目标都是两个节点,它们之间至少有一条路径。现在我想找到源和目标之间的所有简单路径。

df_short_path是一个包含源和目标的数据框。

for index, row in df_short_path.iterrows():
     print (list(nx.all_simple_paths(G, row['source'], row['target'])))

G有 1818个节点和 3380个,df_short_path 的大小为252454

这是我的问题:

当我运行代码时,甚至运行一次循环都需要很长时间,而且一段时间后我也面临内存不足的问题。有没有人有任何建议来优化这个库或它的替代算法?(我也尝试设置截止但没有帮助)

感谢您的帮助 :)

标签: pythongraphnetworkxdirected-graphnetwork-analysis

解决方案


推荐阅读