我找到了一个前段时间发布的解决方案,我试图将它应用到我的练习中,但它不起作用。我有一个具有节点和边的类图和一个方法 childrenOf,它给出了一个节点的所有子节点。这一切都很好。这是我的 DFS 搜索代码,我想找到所有路径:
def myDFS(graph,start,end,path=[]):
path=path+[start]
if start==end:
return path
paths=[]
for node in graph.childrenOf(start):
if node not in path:
paths.extend(myDFS(graph,node,end,path))
return paths
我只有空列表。我需要看哪里?当我在循环中执行 path=myDFS... 时,我至少有最后一条路径。我试过 path+=myDFS 没有成功。该图是成功创建的,因此它不是来自它。谢谢