用于計算一個節(jié)點到其他所有節(jié)點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。Dijkstra算法能得出最短路徑的最優(yōu)解,但由于它遍歷計算的節(jié)點很多,所以效率低。
中文名 最短路徑
特點 以起始點為中心向外層層擴展
性質(zhì) 一個經(jīng)典算法問題
解決方法 Dijkstra算法A*算法
概述
最短路徑問題是圖論研究中的一個經(jīng)典算法問題, 旨在尋找圖(由結(jié)點和路徑組成的)中兩結(jié)點之間的最短路徑。 算法具體的形式包括:
確定起點的最短路徑問題 - 即已知起始結(jié)點,求最短路徑的問題。
確定終點的最短路徑問題 - 與確定起點的問題相反,該問題是已知終結(jié)結(jié)點,求最短路徑的問題。在無向圖中該問題與確定起點的問題完全等同,在有向圖中該問題等同于把所有路徑方向反轉(zhuǎn)的確定起點的問題。
確定起點終點的最短路徑問題 - 即已知起點和終點,求兩結(jié)點之間的最短路徑。
全局最短路徑問題 - 求圖中所有的最短路徑。
////////////////////////////////////////////////////////////
最短路徑算法小軟件V6.0
2018年8月
作者:李庚子李丙寅(李均宇)
1.本軟件為小軟件,不想為項目管理花過多時間,例如要新增一個項目,又刪除或修改一個項目等。
為此,本小軟件只有兩個默認的項目,一個為演示項目,一個用戶當前正在使用的項目,不能增也不能減。
用戶可以清空當前的用戶項目,從而使用自已自定義的項目。先輸入質(zhì)點數(shù)等等。
如果你要多個項目,可以COPY多個本軟件所在文件夾使用。
2.初始化粗略質(zhì)點坐標時,邊長不作校驗,例如,三角形兩邊長之和本應大于第三邊,但是輸入時三角形兩邊長之和小于第三邊,將不作檢驗,所以請手工確保原始數(shù)據(jù)的正確性。
3.質(zhì)點坐標是屏幕像素坐標,left,top,縱坐標向下不是向上,與數(shù)學上的縱坐標方向相反。
4.坐標為屏幕像素坐標,所以只能整數(shù),邊長為兩位小數(shù),如果四舍五入導致的出錯不作處理。
5.注意,用戶要先點擊“注意:先清空用戶項目!!!”才可以自定義自已要用到的頂點數(shù)的改變。
本次升級到6.0主要修改如下:
1。修正了鼠標拖動質(zhì)點超出屏幕范圍時,保存坐標值的錯誤。
2。壓縮了MDB數(shù)據(jù)庫。
本次升級到5.0主要修改如下:
1。邊線條改成灰色,當鼠標移到邊線條時,高亮顯示邊與邊長數(shù)字,這對于邊長數(shù)字重疊時有用。
2。點坐標拖動時可以超出屏幕范圍自動產(chǎn)生滾動條,但點坐標不可以為負數(shù)。
3。增加了SPFA算法,來處理邊長為 0 或者負數(shù)的情況,但SPFA當有負環(huán)時無解。
4。增加了處理負環(huán)的兩個新算法,這兩個算法皆為作者自創(chuàng)的新算法,一個點與邊都不可以重復,另一個點可以重復,邊不可以重復。
5。邊長為負數(shù)時最好有方向單向,一般不允許雙向或無向。或者每條雙向無向的負數(shù)邊,可以每次取單向,如此組合出所有情況,來求最短路徑,再在所有最短路徑中再取其最小值。這個組合的算法暫不處理,由用戶手工處理。
升級到4.0時主要修改如下:
1。更正了算法上的一個BUG。
2。邊長由只可以為整數(shù)升級為可以為兩位小數(shù)。
3。增加了可以保存運算結(jié)果,下次不用再運算的功能。
4。增加了可以列舉所有最短路徑的功能,不止一條最短路徑時有用。
5。增加了邊向量功能,邊向量方向可以雙向或無向,或序號從小指向大,或序號從大指向小,三種選擇。
6。改正了設置起點和終點的小BUG,增加了進度條顯示。
7。增加了可以鼠標拖動質(zhì)點,所相關聯(lián)的邊相應變動的功能。
作者的個人網(wǎng)站:http://www.okmyok.com/lisoft.htm
上面有作者個人開發(fā)的所有軟件,全免費下載。免費但不開源,源代碼要收費。
上面有作者個人開發(fā)的中醫(yī)五運六氣和子午流注軟件,有PC電腦版,安卓版,ASP網(wǎng)頁版等。
還有作者開發(fā)的“行星財務”安卓軟件,是一款在安卓設備上運行的真正意義上的財務軟件,不是記錄個人收支的個人記賬,在安卓手機上可以運行,掌上財務軟件。
還有作者開發(fā)的“TSP算法小軟件”,或叫旅行商問題,可在我的個人網(wǎng)站或本站下載或百度。
還有作者開發(fā)的表達式求值的計算器,可以層層括號等等。。。
我的軟件全免費,無廣告,無須權(quán)限,無須上網(wǎng),無時間和任何功能限制,純綠色不污染系統(tǒng),不體積龐大。。。