0
我有一個代表有向圖的字典。例如...Python:廣度優先搜索能夠返回最大距離嗎?
3210這意味着「富」節點指向「你好」和「棧」而「酒吧」節點指向「上方」和'流'。
我也寫代碼,首先進行廣度搜索,查找任何兩個節點之間的最短路徑 ...
from collections import deque
def breadthFirstSearch(graph, start, end):
q = deque()
path = (start,)
q.append(path)
visited = set([start])
while q:
path = q.popleft()
last_node = path[-1]
if last_node == end:
return path
for node in graph[last_node]:
if node not in visited:
visited.add(node)
q.append(path + (node,))
print 'There is no path from ' + start + ' to ' + end + '.'
return None
我的問題是:是否有可能修改該廣度優先搜索等等因爲它給了我最大的最短路徑以及該路徑的開始和結束節點?
感謝您的回覆,我正在考慮只是首先搜索每個可能的節點組合並選擇最長的加長路徑。但是我有100000多個節點,它需要很長時間才能運行。反正可以更快地運行這個強力方法嗎? – Ogen
你的圖有多密?它有什麼特殊的結構嗎?嘿,你的圖是什麼? – tmyklebu
我的圖形如上所述。它只是一個字典,其中每個密鑰都是一個節點,其值是該節點連接的節點。它由大約100000多個節點組成。 (它也是一個有向圖) – Ogen