最小生成樹筆記

2021-08-26 10:44:47 字數 416 閱讀 9366

兩種常用的最小生成樹演算法:

①普里姆演算法(prim,時間複雜度o( n^2 ))----引入乙個輔助陣列,便巧妙實現之

②克魯斯卡爾演算法( kruskal ,時間複雜度o( e log e)

prim演算法是根據點找邊,適合稠密圖。kruskal演算法一直都是找最小邊,適合稀疏圖。

prim演算法的偽**:

void minispantree_prim( mgraph g, vertextype u) closedge[g.vexnum] */ k= locatevex( g, u); for ( int j = 0; j < g.vexnum; j++) if ( j != k) closedge[j] = ; closedge[k].lowcost = 0; for ( int i = 1; i < g.vexnum; i++) ; } }

課堂筆記 最小生成樹

最小生成樹 minimal spanning tree 生成樹的代價 設g v,e 是乙個無向連通網,生成樹上各邊的權值之和稱為該生成樹的代價。最小生成樹 在圖g所有生成樹中,代價最小的生成樹稱為最小生成樹。mst minimum spanning tree 性質 假設g v,e 是乙個無向連通網,...

最小生成樹 次小生成樹

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

最小生成樹

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