我有一個龐大的網絡,大約有400個節點,而我正在嘗試做的是計算您可以在網絡上製作的每條可能路線。這意味着,節點遍歷和從節點1的路徑的總權重到節點2,節點1〜節點3到節點1到節點400Python - 大規模的Dijkstra算法
然後,從節點2到節點3,節點2到節點4可達節點2到節點400
(僅供參考,我有蟒蛇的認識非常有限,一天一天,我用HTML/CSS工作)
我一直在使用這個代碼,我發現: http://bytes.com/topic/python/insights/877227-dijkstras-algorithm-finding-shortest-route
但是,由於我的網絡規模龐大,計算從任何節點到任何節點的每種可能方式都需要非常長的時間我。
從我所瞭解的鏈接算法中,它依次從起始節點訪問每個節點,並給它一個值,這是從一開始就到達該節點所需的權重(我想它也會記錄到達每個特定節點所需的路線?)。如果發現到達該節點的路由較短,則會覆蓋之前的節點。一旦到達目的地,它將停止並返回結果。
我想,如果腳本可以稍微編輯一下,是否可以代替在特定目的地停留,只需像往常一樣訪問所有節點,並打印出最短路徑和加權的報告?這樣,算法只需要運行總共400次,每次可能的起始位置一次。
感謝您的任何建議,你可以給我,我希望這是明確的!
你能澄清這個問題好嗎?你想找到所有點之間的最短路徑嗎? – 2011-12-31 16:16:43
嗨保羅,這是正確的。從每個節點到每個其他節點的最短路徑。 – Pete 2011-12-31 17:07:36