要爲Floyd Warshall算法「最短路徑」(https://www.cs.usfca.edu/~galles/visualization/Floyd.html?hc_location=ufi)製作距離矩陣,您需要一些道路作爲頂點並將這些道路之間的距離作爲邊緣。例如(出發地,目的地,距離):roads = [["Philadelphia", "New York City", 120 ], ["New York City", "Philadelphia", 97 ],[ "Millburn, "New York City", 25 ],["Morristown", "Harrisburg", 150]
如何在python中創建這個矩陣?距離矩陣FLoyd Warshall Python
這是結構:
network[0] = #list destinations
for i in range (len(roads)):
network [i][0] = #list departures
我不知道如何填寫正確的位置的距離,因爲network[roads[i][0],[roads[i][1]]
是不是當一個目的地或出發時使用更多的時間比一個合適的解決方案。
非常感謝!
恐怕我不能使用熊貓...這就是爲什麼我認爲使用字典更復雜,因爲這些是無序的,你不能通過索引選擇元素。這很重要,因爲我不能使用例如「距離[Millburn]」,所以我必須構建一個通用矩陣,它與每個給定的道路元組一起工作。 – Materials
@Materials,我已經編輯了答案,以顯示如何從您提供的數組創建詞典。所以構建通用矩陣不是問題。請詳細說明您是否需要使用整數索引而不是字符串索引;因爲這將是微不足道的。 – srj
@Materials,如果您可以編輯問題,並提供關於如何使用數據結構的信息,則有人可以幫助您創建該數據結構 – srj