图Graph--最短路径算法(Shortest Path Algorithm)
生活随笔
收集整理的這篇文章主要介紹了
图Graph--最短路径算法(Shortest Path Algorithm)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 算法解析
- BFS,DFS 這兩種算法主要是針對無權圖的搜索算法。
- 針對有權圖,圖中的每條邊都有權重,如何計算兩點之間的最短路徑(經過的邊的權重和最小)呢?
- 像Google地圖、百度地圖、高德地圖這樣的地圖軟件,你只需要輸入起始、結束地址,就會給你規劃一條最優出行路線。比如最短路線、最少用時、最少紅綠燈等等。
1. 算法解析
我們先解決最簡單的,最短路線。
- 把地圖抽象成圖最合適不過了。
- 把每個岔路口看作一個頂點,岔路口與岔路口之間的路看作一條邊,路的長度就是邊的權重。
- 如果路是單行道,在兩個頂點之間畫一條有向邊;如果路是雙行道,就在兩個頂點之間畫兩條方向不同的邊。這樣,地圖就被抽象成一個有向有權圖。
這個問題,一個非常經典的算法,是單源最短路徑算法(一個頂點到一個頂點)。最出名的莫過于Dijkstra算法了。
算法模板:他人博客
- 相關題目:
LeetCode 505. 迷宮 II(BFS / Dijkstra 最短路徑)
LeetCode 743. 網絡延遲時間(最短路徑)
LeetCode 787. K 站中轉內最便宜的航班(Dijkstra最短路徑 + 優先隊列)
LeetCode 1334. 閾值距離內鄰居最少的城市(最短路徑Dijkstra)
LeetCode 5211. 概率最大的路徑 medium
LeetCode 5699. 從第一個節點出發到最后一個節點的受限路徑數(迪杰斯特拉 + 拓撲排序)
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的图Graph--最短路径算法(Shortest Path Algorithm)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 假设有搅乱顺序的一群儿童成一个队列_数据
- 下一篇: POJ 3690 找星座(2D匹配)(未