我有一个包含数十万个节点和数万条边的大型无向图。我有两个不同的问题:
1) 对于一组节点 N = (node[1], node[2], node[3], node[4], node[5]) 并且,例如,M = (node[1001], node[1002 ], node[1003], node[1004], node[1005]) N 中的任何节点和 M 中的任何节点之间是否存在路径?
我知道存在 nx.path.bidirectional_dijkstra() 函数,但要使用它,我必须测试所有组合 N*M 这是冗余的(因为许多节点将被多次查询),因为实际上 N 的长度/M 可能是数千,这是不切实际的。
2) 一个稍微不同的问题,但是有没有办法获得从 N 到 M 的所有路径的列表?
我对如何“推出我自己的”解决方案有一个粗略的想法,但我想它会比有人已经做到这一点要慢很多倍,但没有图论背景我什至不知道是什么我需要寻找!谢谢。