2
該代碼是爲有向圖確定兩個節點之間的路徑。 This是代碼:來自python的圖論論文代碼中的問題
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:
是什麼意思? Q2302。此代碼是否在有向圖中給出全部可能的路徑?
謝謝。
感謝user507787。你能說出那條路嗎?這將是從鑰匙的第一次遇到的價值可能的路徑? – Pupil 2010-11-18 02:06:06
請閱讀維基百科上的深度優先搜索和廣度優先搜索。上面的代碼實現的算法是DFS,這意味着如果給出每個節點邊緣遍歷的順序,它將找到具有相關序列(m0,m1,m2,...)的路徑,我們在這裏選擇開始時的邊緣等等,以便在字典順序下該序列是最小的。 – user507787 2010-11-18 02:15:02
好的。謝謝:) – Pupil 2010-11-18 02:17:33