Dieser Code ist in python official essays on graph theory angegeben. Hier ist der Code:Verwendet dieser Python-Code Tiefensuche (DFS) zum Suchen aller Pfade?
def find_all_paths(graph, start, end, path=[]):
path = path + [start]
if start == end:
return [path]
if not graph.has_key(start):
return []
paths = []
for node in graph[start]:
if node not in path:
newpaths = find_all_paths(graph, node, end, path)
for newpath in newpaths:
paths.append(newpath)
return paths
ich bei Python nicht geschickt bin, wie ich noch nicht genug hatte zu praktizieren und zu lesen darin. Können Sie den Code erklären, indem Sie ihn auf das Kind-Geschwister-Konzept im DFS-Diagramm beziehen? Vielen Dank.
'paths.extend (newpaths)' –
Als Referenz würde ich immer 'Start nicht in Graph' statt 'nicht Graphen. has_key (start) '(Ich nehme an,' graph' ist ein 'dict' oder ähnliches). –
Chris, ja 'graph' ist ein' dict'. – Pupil