Dijkstra演算法和Prim演算法有什麼區別?

2021-10-10 23:55:22 字數 257 閱讀 4656

這兩個演算法十分相似:

但是dijkstra演算法用於構建單源點的最短路徑樹:即從乙個圖中,找到這樣乙個樹,使得這個樹的根節點到任何節點的距離都是能到達這個節點的路徑的最短的那條。(就是從圖中的任何一點出發 能找到其去往任何節點的最短路徑)

prime演算法用於構建最小生成樹(mst)即書中的所有路徑的和最小,即我們要從這個圖中找出一棵樹(就是包含了所有的節點 但是沒有環)使得其包含的邊的權重和最小。這個演算法只能用於無向圖。這種演算法適用場景:構建電路板,線的總長度越小越好。

Prim演算法和Dijkstra演算法的異同

之前一直覺得prim和dijkstra很相似,但是沒有仔細對比 今天看了下,主要有以下幾點 1 prim是計算最小生成樹的演算法,比如為n個村莊修路,怎麼修花銷最少。dijkstra是計算最短路徑的演算法,比如從a村莊走到其他任意村莊的距離。2 prim演算法中有乙個統計總len的變數,每次都要把到...

Prim演算法和Dijkstra演算法的異同

之前一直覺得prim和dijkstra很相似,但是沒有仔細對比 今天看了下,主要有以下幾點 1 prim是計算最小生成樹的演算法,比如為n個村莊修路,怎麼修花銷最少。dijkstra是計算最短路徑的演算法,比如從a村莊走到其他任意村莊的距離。2 prim演算法中有乙個統計總len的變數,每次都要把到...

Prim演算法和Dijkstra演算法的異同

今天看了下,主要有以下幾點 1 prim是計算最小生成樹的演算法,比如為n個村莊修路,怎麼修花銷最少。dijkstra是計算最短路徑的演算法,比如從a村莊走到其他任意村莊的距離。2 prim演算法中有乙個統計總len的變數,每次都要把到下一點的距離加到len中 dijkstra演算法中卻沒有,只需要...