最小生成樹!!!

2021-06-27 11:59:12 字數 995 閱讀 4042

好久沒有總結題目了,大概有好長時間了,怎麼頹廢了呢,一定是看片看多了,以後還是要潔身自好一點。

。。。。。(無恥的笑)

最小生成樹!!!

求1我i起點的最小生成樹

3 3

1 2 1

2 3 2

1 3 4

結果: 3

由於這半年來我開了資料結構這門課程,雖然老師有點坑,但是我還是真正的學習了,(不學能行麼!!!)

這是圖的問題,在老嚴的那本書上有講解,有兩種演算法可以解決這樣的題目,我在這裡就講解一種

叫做 prim 演算法,(其實另一種我還沒有敲過,不會啦,哎,只能說自己實在是太弱了),

經過我的不懈努力,我終於懂得了這個演算法的意思了,雖然只是皮毛,但是我還是想總結一下,方便以後回顧嘛!!

我的理解是,prim 演算法就是開始從乙個點開始,這個點是圖上的點,從這個點出發,之後找到距離他最近的點,也就是權了,但是只能是一條線段的權,不能是多條線段的權,最後記錄下來,在之後通過這個權最小的點,在找到距離他最小點,這樣找到n-1個線段,鏈結起來就是乙個最小生成樹了。

其實意思就算給我,有時間我也編寫不出來,我記得原來是沒有思想,但是能編寫出來,但是現在是有了思想,但是**寫不出來了,哎,悲哀啊!!!!

#include

#include

#include

#include

#include

using namespace std;

int arr[1000][1000];

int prime(int n)

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

}sum += min;

vis[dis] = 1;

for(int k = 2;k <= n;k++)

}return sum;

}int main( void )

int sum = prime(n);

printf("%d\n",sum);

}return 0;}

最小生成樹 次小生成樹

一 最小生成樹 說到生成樹首先要解釋一下樹,樹是乙個聯通的無向無環圖,多棵樹的集合則被稱為森林。因此,樹具有許多性質 1.兩點之間的路徑是唯一的。2.邊數等於點數減一。3.連線任意兩點都會生成乙個環。對於乙個無向聯通圖g的子圖,如果它包含g的所有點,則它被稱為g的生成樹,而各邊權和最小的生成樹則被稱...

最小生成樹

package 圖 最小生成樹是用最少的邊吧把所有的節點連線起來。於是和圖的深度優先搜素差不多。class stack public void push int key public int pop 檢視棧頂的元素 public int peek public boolean isempty cla...

最小生成樹

define max vertex num 20 最大頂點數 typedef int adjmatrix max vertex num max vertex num 鄰接矩陣型別 typedef char vertextype typedef struct mgraph struct dnodecl...