Код для определения пути между двумя узлами для ориентированных графов. Это код:
def find_path(graph, start, end, path=[]):
path = path + [start]
if start == end:
return path
if not graph.has_key(start):
return None
for node in graph[start]:
if node not in path:
newpath = find_path(graph, node, end, path)
if newpath: return newpath
return None
Будучи новичком в python, у меня два маленьких и тривиальных вопроса. Надеюсь, ты не возражаешь против этого.
Q1. Что означает if newpath:
во второй последней строке кода?
Q2. Дает ли этот код все возможные пути в ориентированном графе?
Спасибо.