最小生成樹(模板,注意和最短路的區別)

2022-07-25 07:24:10 字數 690 閱讀 1197

最小生成樹模板。

#include #include

#include

#define max 0x3f3f3f3f

using

namespace

std;

int vis[1010

];int map[1010][1010

];int dis[1010

];int

n,m;

intprim()

for(i=1; i<=n; i++)

dis[

1]=0; //

注意和最短路的區別,最短路的dis陣列存的是從起點到該點的最短距離。而最小生成樹存的是與該點相連的所有的邊,最短的一條。

vis[1]=1

;

for(i=1; i)

}if(now==max)

break

; vis[now]=1

;

//cout<

for(j=1; j<=n; j++)

}cout

}int

main()

prim();}}

view code

最小生成樹和最短路徑

這篇算作是 演算法 第四版部分讀後感吧 我思考這個問題的開始就是糾結最小生成樹prim演算法和最短路徑dijkstra演算法的異同 1.最小生成樹prim演算法 直接從例子開始吧,我們考慮一副這樣的圖 1.將d設為起始點 設定某個點為起始點是隨機的 考慮與它相鄰節點的權重值,圖中黃色節點,也就是d ...

最短路徑,最短路徑樹和最小生成樹

首先介紹這三個概念,很多人都聽過最短路徑了,但是最短路徑樹卻很少聽過,關於最短路徑樹的介紹也不太多。而最短路徑樹和最小生成樹更是完全不同的兩個概念。最短路徑就是從乙個指定的頂點出發,計算從該頂點出發到其他所有頂點的最短路徑。通常用dijkstra演算法,floyd演算法求解。最短路徑樹spt sho...

最短路徑 最小生成樹

題目描述 n個城市,標號從0到n 1,m條道路,第k條道路 k從0開始 的長度為2 k,求編號為0的城市到其他城市的最短距離 輸入描述 第一行兩個正整數n 2 n 100 m m 500 表示有n個城市,m條道路 接下來m行兩個整數,表示相連的兩個城市的編號 輸出描述 n 1行,表示0號城市到其他城...