假设对UNION过程做一个简单的改动,在采用链表表示中拿掉让集合对象的tail指针总指向每个表的最后一个对象的要求。无论是使用还是不使用加权合并启发式策略,这个修改不应该改变UNION过程的渐近运行时间(提示:而不是把一个表链接到另一个表后面,将它们拼接到一起)
UNION(u,v){
LINK(FIND-SET(u),== FIND-SET(v))
}
LINK(x,y){
if x.rank > y.rank
y.p = x
else
x.p = y
if x.rank == y.rank
y.rank++
} 