最短路徑

圖的兩種搜索算法,深度優(yōu)先搜素和廣度優(yōu)先搜索。這兩種算法主要是針對(duì)無權(quán)圖的搜索算法。針對(duì)有權(quán)圖,也就是圖中的每條邊都有一個(gè)權(quán)重,該如何計(jì)算兩點(diǎn)之間的最短路徑?最短路徑算法(Shortest Path Algorithm)。

一:算法解析
最優(yōu)問題包含三個(gè):最短路線,最少用時(shí),最少紅綠燈。
1,解訣軟件開發(fā)中的實(shí)際問題,最重要的一點(diǎn)就是建模,也就是將復(fù)雜的場景抽象成具體的數(shù)據(jù)結(jié)構(gòu)。
2,圖的表達(dá)能力強(qiáng),可以將求解的最短路徑問題轉(zhuǎn)化為:在一個(gè)有向有權(quán)圖中,求兩個(gè)頂點(diǎn)間的最短路徑。
3,要解決這個(gè)問題,有個(gè)非常經(jīng)典的算法,最短路徑算法,更準(zhǔn)確的叫:單源最短路徑算法(一個(gè)頂點(diǎn)到一個(gè)頂點(diǎn))。提到最短路徑算法,最出名的莫過于DijKstra算法。

4,Dijkstra算法的時(shí)間復(fù)雜度:
O(E*log V),E表示邊的個(gè)數(shù),V表示元素個(gè)數(shù)不會(huì)超過頂點(diǎn)的個(gè)數(shù)
5,Dijkstra最短路徑算法,實(shí)際上最短路徑算法還有很多,比如Bellford算法,F(xiàn)loyd算法等。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容