1. 程式人生 > >怎麼證明權重不相同的加權無向圖的最小生成樹是唯一的 (圖論)

怎麼證明權重不相同的加權無向圖的最小生成樹是唯一的 (圖論)

設G是所有邊權均不相同的無向聯通圖。

證明一:

首先,易證圖G中權值最小的邊一定是最小生成樹中的邊。(否則最小生成樹加上權值最小的邊後構成一個環,去掉環中任意一條非此邊則形成了另一個權值更小的生成樹)。

之後用反證法,假設G存在倆個不同的最小生成樹

①.設G的倆個不同的最小生成樹T1 T2,設這倆顆生成樹的並集為子圖G1,G1為連通圖且T1 T2顯然為G1的最小生成樹,由首先可得知倆顆生成樹至少包含一條公共邊,將G1中兩顆生成樹的公共邊刪去,得到子圖G2。G2由一個或多個連通分量組成,其中至少有一個連通分量的最小生成樹不唯一(否則若所有連通分量的最小生成樹唯一,則將刪掉的公共邊加上,則T1等於T2,這與假設相矛盾)

②.對其中一個最小生成樹不唯一的連通分量設為H,若H中點數>2,重複①的操作。否則H中只有倆個點,由於所有邊權值不同,顯然最小生成樹唯一,這與①中的最後一句相矛盾。

綜上,所有邊權均不相同的無向圖最小生成樹是唯一的。

證明二:

設T,T’為G的倆個最小生成樹,設T的邊集E(T)={e1,e2,...,em},T'的邊集E(T')={e'1,e'2,...,e'm}。

設ek滿足ek≠e'k且k最小,由於所有邊權值不同,不妨假設weight(ek)<weight(ek'),則將ek加入到T',T'中構成環,易知環中不包含e'1,e'2,...,e'k-1(否則在T中有包含ek的環),將環中任意非ek邊刪掉後得到了權值更小的生成樹,這與T‘為最小生成樹相矛盾,故G最小生成樹唯一。

還有一個更強的結論:同一個圖不同最小生成樹的邊權重序列相同。

相關推薦

怎麼證明權重相同加權小生成樹唯一

設G是所有邊權均不相同的無向聯通圖。 證明一: 首先,易證圖G中權值最小的邊一定是最小生成樹中的邊。(否則最小生成樹加上權值最小的邊後構成一個環,去掉環中任意一條非此邊則形成了另一個權值更小的生

怎麽證明權重相同加權小生成樹唯一

少包 size tail ati color post 中一 pos 否則 轉自:https://blog.csdn.net/liangzhaoyang1/article/details/51602926 設G是所有邊權均不相同的無向聯通圖。 證

所有邊權均相同小生成樹唯一證明

eight weight nbsp 不同的 權重 cnblogs 成了 http 方法 設G是所有邊權均不相同的無向聯通圖。 證明一: 首先,易證圖G中權值最小的邊一定是最小生成樹中的邊。(否則最小生成樹加上權值最小的邊後構成一個環,去掉環中任意一條非此邊則形成了另一

每日一省之————加權小生成樹演算法Prim/Kruskal演算法

1.帶權重的邊的資料結構 /** * 該類物件可以表示圖中的一條邊 * @author lhever 2017年2月19日 下午5:10:49 * @version v1.0 */ public class Edge implements Com

1212 小生成樹

alt 時間 難度 布爾 too 數組 star tar += 1212 無向圖最小生成樹 基準時間限制:1 秒 空間限制:131072 KB 分值: 0 難度:基礎題 收藏 關註 N個點M條邊的無向連通圖,每條邊有一個權值,求該圖的最小生成樹。 In

51 nod 1212 小生成樹Kruckal演算法/Prime演算法圖解

1212 無向圖最小生成樹 N個點M條邊的無向連通圖,每條邊有一個權值,求該圖的最小生成樹。  收起 輸入 第1行:2個數N,M中間用空格分隔,N為點的數量,M為邊的數量。(2 <= N <= 1000, 1 <= M <= 50000) 第2 -

51nod 1212 小生成樹

數量 color def main tdi ring () return print N個點M條邊的無向連通圖,每條邊有一個權值,求該圖的最小生成樹。 輸入 第1行:2個數N,M中間用空格分隔,N為點的數量,M為邊的數量。(2 <= N &l

51NOD 1212 小生成樹

N個點M條邊的無向連通圖,每條邊有一個權值,求該圖的最小生成樹。 輸入 第1行:2個數N,M中間用空格分隔,N為點的數量,M為邊的數量。(2 <= N <= 1000, 1 <= M <= 50000) 第2 - M + 1

51Nod1212 小生成樹

#include<iostream> #include<cstring> #include<cstdio> using namespace std; int map[

51nod 1212 小生成樹Kruskal演算法

 收藏  關注 N個點M條邊的無向連通圖,每條邊有一個權值,求該圖的最小生成樹。 Input 第1行:2個數N,M中間用空格分隔,N為點的數量,M為邊的數量。(2 <= N <= 1000, 1 <= M <= 5

51nod 1212 小生成樹小生成樹

 收藏  關注 N個點M條邊的無向連通圖,每條邊有一個權值,求該圖的最小生成樹。 Input 第1行:2個數N,M中間用空格分隔,N為點的數量,M為邊的數量。(2 &

小生成樹prim演算法

輸入 第1行:2個數N,M中間用空格分隔,N為點的數量,M為邊的數量。(2 <= N <= 1000, 1 <= M <= 50000) 第2 - M + 1行:每行3個數

51nod 1212 小生成樹prim演算法

N個點M條邊的無向連通圖,每條邊有一個權值,求該圖的最小生成樹。 Input 第1行:2個數N,M中間用空格分隔,N為點的數量,M為邊的數量。(2 <= N <= 1000

小生成樹

基礎:無向圖的kruskal演算法 摘抄: 最 小樹形圖,就是給有向帶權圖中指定一個特殊的點root,求一棵以root為根的有向生成樹T,並且T中所有邊的總權值最小。最小樹形圖的第一個演算法是 1965年朱永津和劉振巨集提出的複雜度為O(VE)的演算法。 判斷是否存在樹形圖

小生成樹——小樹形圖朱…

對於有向圖的最小生成樹 , 也叫做最小樹形圖 。 最小樹形圖的第一個演算法是1965年朱永津和劉振巨集提出的複雜度為O(VE)的演算法。 值得我們驕傲啊 。 下面來分享這個演算法 。 1、求最小樹形圖之前一定要確定根 , 確定根之後再去驗證是否存在樹形圖(這個很簡單 , 就是從根節點能不能到其他點)

HDU2121:Ice_cream’s world II (虛根+有小生成樹)

記錄 amp i++ imp others else mea 有趣 was Ice_cream’s world II Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (

【NOIP模擬賽】藏寶 小生成樹

names pri double span -- string noip getchar n! 性質:我們把最小生成樹建出來,如果其距離符合那麽就是對的,不符合就是錯的 因為這是個n^2的圖所以不能Kruskal只能Prim #include <cstdio>

HDU 6187 Destroy Walls (對偶小生成樹)

技術分享 -c pro esp bsp {} 一個人 個人 return 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=6187 題意:有一個V個結點M條邊的帶邊權無向平面圖,有一個人在一個區域,要拆一些墻使得他可以到達任意一

題解——洛谷P1550 [USACO08OCT]打井Watering Hole小生成樹,建

mount scan -o another 決定 clas con pan 通過 題面 題目背景 John的農場缺水了!!! 題目描述 Farmer John has decided to bring water to his N (1 <= N <=

——小生成樹

圖——最小生成樹 1. 基本概念 在一個連通無向圖G=(V, E)中,對於其中的每條邊(u,v)∈E,賦予其權重w(u, v),則最小生成樹問題就是要在G中找到一個連通圖G中所有頂點的無環子集T⊆E,使得這個子集中所有邊的權重之和w(T) =