2019年王道資料結構筆記---圖
阿新 • • 發佈:2019-02-08
最小生成樹演算法
圖的相關概念
普里姆演算法prim
普里姆演算法是不斷選點,而選點的依據,在當前點集合向外發出的邊的最小值,
另外每次選中一個節點之後更新,已經選中的節點到未被選中節點的距離(這一點也是和求最短路徑)
克魯斯卡演算法kruskal
克魯斯卡演算法的核心是不斷選邊
選邊的依據是,在已經排好序的邊中選擇最短的邊,但不能形成環路
最短路徑演算法
迪杰特斯拉
計算單源點,到各個頂點的距離最短值, 類似於prim演算法,逐個加點,用貪心演算法 從單源點出發,知道到一個最短距離的點,再去更新改源點到其他頂點資料 更新的依據是,源點直接到其他點距離和源點經過剛剛選中的點, 再到其他點之和距離大小關係,若後者小則更新
Prim演算法和Dijkstra演算法的異同
都是加點法
區別是更新的演算法不一樣,
prim演算法是通過比較加入點到其他點距離,和源點到其他點距離,小則更新。
迪杰特斯拉演算法則是通過比較源點到其他點距離和通過源點到中介點(剛剛加入的點)到其他點距離和的大小比較
- 拓撲排序