10.9 Union-Find Algorithm

Kruskal’s algorithm relies on a union-find algorithm for checking cycles.

A  U B ---||  b   |   a
-A--||  O - ||  O
---|   A       A
|C -|| cO
---    C
---||  d
-D--||  O
--|    D
|E|-|| eO
---    E
--|||  f
-F- ||  O
---|   F
|G -||-gO
---    G
---||  h
-H--||  O
--|    H
|I-||| iO
--     I
H  U I ---||  b   |   a
-A--||  O - ||  O
---|   A       A
|C -|| cO
---    C
---||  d
-D--||  O
--|    D
|E|-|| eO
---    E
--|||  f
-F- ||  O
---|   F
|G -||-gO
---    G
---||   i  |   h
-H--||  O - ||  O
       H       H
A  U C ---||   e  ||  b   |   a
-A--||- O  -||  O -||| O
---|   A       A      A
|C -||- cO
---    C
---||   d
-D--||- O
---|   D
|F -||  fO
---    F
---||   g
-G--||- O
---|   G
|H -||- iO  -|| hO
---    H       H
D  U G ---||   e  ||  b   |   a
-A--||- O  -||  O -||| O
---|   A       A      A
|C -||- cO
---    C
---||   g  ||  d
-D--||- O  -||  O
---|   D       D
|F -||  fO
---    F
---||   i  ||  h
-H--||- O  -||  O
       H       H
E  U F --||   f   |  e   |   b   |   a
A--||| O  -||  O - ||  O -||- O
--|    A      A       A      A
C -||| cO
---   C
--||   g   |  d
D--||| O  -||  O
--|    D      D
H -||| iO  -|| hO
---    H      H
E  U H --|||  i   |   h   |   f  |   e   |   b  ||  a
A---||  O -||| O  -||  O - ||  O -||- O  -||  O
--|    A       A      A       A      A       A
C -||| cO
---    C
--|||  g   |   d
D---||  O -||| O
       D       D
D  U A ---||   g  ||  d   |   i   |  h   |   f   |   e  ||  b   |   a
-A--||- O  -||  O -||| O  -||  O - ||  O -||- O  -||  O -||| O
---|   A       A       A      A       A      A       A      A
|C -||- cO
---    C
C  U A --||   c   |  g   ||  d   |   i  ||  h   |   f   |  e   |   b   |   a
A--||| O  -||  O - ||  O -||- O  -||  O -||| O  -||  O - ||  O -||- O
       A      A       A      A       A      A       A       A      A