初始为:
Vnew = {x}
,x
为集合的任意点;
Enew = {}
为空;
Vnew = V
; 权值最小的(u,v)
其中u属于Vnew中的元素,v
不属于Vnew
,且v
属于V
把v
加入到Vnew
,把(u,v)
加入到Enew
中; 求证: Vnew
、Enew
生成最小生成树。
反证法:假设不能生成最小树。
设生成树为X0
,
设存在Gmin
小于X0
,则Gmin
有(u,v)
存在,而(u,v)
不在X0
中。
将(u,v)
加入X0
中,且(u,v)
不是X0
中所有点连起来的最长边,
(u,v)
属于Gmin
这与每次生成最短边相矛盾,所以假设不成立。