最小生成樹Fruskal演算法(並查集優化)

2021-08-19 16:31:34 字數 717 閱讀 9547

現共有n個住戶,這些住戶之間有m條道路,現在有乙個郵差需要從一號住戶出發往每個使用者家裡送乙份當天的報紙,為了盡快送達每家每戶,現在你需要幫郵差算一算他最少需要走多遠?

輸入第一行n,m

接下來m行,每行三個整數,第乙個整數表示此條道路的出發住戶編號,第二個整數表示到達的住戶編號,第三個整數表示此條道路的長度

輸出乙個整數表示最少需要走的長度,輸出佔一行

樣例輸入:

6 92 4 11

3 5 13

4 6 3

5 6 4

2 3 6

4 5 7

1 2 1

3 4 9

1 3 2

樣例輸出:

#include#include#includeusing namespace std;

struct node

que1[1002];

int n,m;//n代表n個頂點,m代表m個邊

int book[1002];

void quicksort(int l,int r)

quicksort(1,m);

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

book[i]=i;

for(int i=1;i<=m;i++)

if(count1==n-1)break;

}cout

}

最小生成樹演算法

由帶權的連通圖生成的數的各邊加起來稱為生成樹的權,把權值最小的生成樹稱為最小生成樹 minimum spanning tree 簡稱為mst 構造最小生成樹的方法就是利用mst性質,一條一條地選擇可以加入的邊。下面介紹兩種用於構造最小生成樹的演算法,其中第一種演算法稱為prim演算法,第二種演算法稱...

最小生成樹演算法

乙個最簡單的最小生成樹 圖結構練習 最小生成樹 time limit 1000ms memory limit 65536k 有n個城市,其中有些城市之間可以修建公路,修建不同的公路費用是不同的。現在我們想知道,最少花多少錢修公路可以將所有的城市連在一起,使在任意一城市出發,可以到達其他任意的城市。輸...

演算法 最小生成樹

前言 最小生成樹是在乙個給定的無向圖中求一棵樹,這棵樹包含無向圖中的所有頂點,且樹中的邊都來自無向圖中的邊,並且要滿足整棵樹的邊權之和最小。1 最小生成樹是樹,其邊數等於頂點數減1,且不會有環 2 對於給定的圖最小生成樹可以不唯一,但是邊權之和一定是唯一的。3 其根節點可以是這棵樹上的任何乙個節點,...