環性質(cycle property)
切割性質告訴你哪條電纜可以安全地加入。環性質是它的鏡像:它告訴你哪條電纜可以安全地丟掉。看你網路中任一條由電纜構成的封閉迴圈。那個迴圈上最貴的那一條電纜永遠用不到——總存在一個最小生成樹把它排除在外。每當你發現一個迴圈,你都能心安理得地刪掉它最重的邊。
精確地說:若邊 e 是某個環上唯一的最大權重邊,則 e 不在任何最小生成樹中。論證仍是交換。假設某個 MST T 含有 e。移除 e 把 T 分成兩塊,將頂點切成兩個集合。e 所在的環必透過某條其他邊 f 在那兩塊之間跨越(一個環在 e 處斷開後,仍以繞遠路的方式連接 e 的兩端點)。因為 e 是那個環上最重的邊,weight(f) < weight(e)。用 f 換掉 e:你用一條嚴格更便宜的邊重新連接樹,產生一個總權重更小的生成樹——與 T 為最小矛盾。所以沒有 MST 含有 e。
環性質是與切割性質的「保留規則」互補的「丟棄規則」,兩者合起來完整地證成貪婪 MST 演算法。克魯斯卡演算法正是環性質的實踐:它由便宜到昂貴考慮各邊,並拒絕任何會封閉成環的邊,因為這種邊必然是它會造出的那個環上最重的。一個精確的提醒:乾淨的陳述需要環上最重的邊是唯一的。若環上數條邊並列為最重,你可以丟掉其中一條但未必是某一條特定的,且可能存在不只一個 MST。
環 A-B (1)、B-C (2)、A-C (3)。它最重的邊是 A-C (3)。環性質說 A-C 不在任何 MST 中,故可安全丟棄:A 與 C 仍透過 A-B-C 相連,沿樹的成本為 1+2 = 3,而非一條權重 3 的直接邊——其餘任何頂點都透過較輕的邊相連。
環上最重的邊可移除:同一環上一條較便宜的邊已重新連接它的兩端點。
環性質乾淨的形式需要環上最重的邊唯一。若環上數條邊共享最大權重,你可丟其中一條,但非某一條預選的,且可能產生多個 MST。