Disjoint Set Data Structure

 #" ##%
) / D !
( & 5. + 5 +
& =
$> /
+ M1N
! # =
$> /+ . # C
# $ 2,!), /=B+B -!,5 /$:; 6 &!:; J -:; 6 " # 2: " ; 6 #: " ; J " ) 2 " # # : # ;
: ; #$ .
-
6 5 +
C # 2,!), $ -!,5 # # # $ # : # $
$ $ % ;
S
6 C # O
6 + #$ C F$G $ % 8 :; J 2:7; 8 - $:;
$:;
7
7
& J 2:7;
-
6 2
&
-
6 ($ ! :; :; :; J :;
! :; J :; :; J :; K 2 $ F : ; G
7 $( . % '(
M7 * N
:; J :;
$ 2 >
2 - ( :; :;(
:; J :;
%:; %:;
! :; J :;(
:;
%:;
%:;
%:;
:; K %
J #%:; K #%:;
K J
1
¾
! - # $ # 5
# $ $ : "
;
2,!), $ $ % $ % -!,5 # # $ # Q " " " ! "
#
+ % $ : $ % ; $ # # # $ C # -!,5 : 2,!), $ ; % # $ % % :# # ;
# # $ " : $ ;
. $! !
%& $ " % : ; : K
;& J :; 9 J %
J # 6
($ ) 8
$ '::;; 8 ! $ '::;; :;
$ % 0
# - : K ; : ; #
J :;
" " # : # " ;
, #> ,
>
$ $ # C # " 7 $' % '(
C $ $ # # " $
9
) % # # # $ $ # + ¾
# # $ C # ( # " #
( :; J ( :; J $ %
! ! $ $ " : ;
" :; $ " :; $ " :; $ " :; $ 1 9
" :; $ 3 9119
+ $ # $ : ; # + $
" :; " : ; # " # " #$ # $ $ #
$ ! $ # #$ " " #$ ,
# $ " K " $ # $ " #$ + # " 0
" # #$ C " " & $ # % L # $ ( : ; K ( :;
$ $
) $ # J (:;
, # # $ % " ( " # $ ( :; ( : ; $ $ +
$ " :; )( :; " :; : " :; ; + $ " . # :*: ;; $ " # * $ # # 0
Æ
: .> $; # . 3