-1
我使用以下python代码查找两个节点之间的所有可能路径,但它返回任何东西,只是等待运行。查找大图中两个节点之间的所有可能路径
def find_all_paths(graph, start, end, path=[]):
path = path + [start]
if start == end:
return []
if start not in graph:
return []
paths = []
for node in graph[start]:
if node not in path:
print (node)
newpaths = find_all_paths(graph, node, end, path)
for newpath in newpaths:
paths.append(newpath)
return paths
我的图有4K节点和23K边缘。
我想你想排除循环路径,否则有他们的无限... – Julien
基本的调试技巧:运行代码首先在一个简单的例子!如果有效,则逐渐增加问题的大小。如果它变得太慢,那就着手优化它。 – Julien
是函数实际递归还是缩进不好? –