29 Data Structures
http://ecomputernotes.com
http://ecomputernotes.com
http://ecomputernotes.com
http://ecomputernotes.com
5 6
After union(5,6)
http://ecomputernotes.com
5 6
7 8
After union(7,8)
http://ecomputernotes.com
5 6 7 8
After union(5,7)
http://ecomputernotes.com
3 4
5 6 7 8
After union(3,4)
http://ecomputernotes.com
3 4 5 6 7 8
After union(4,5)
http://ecomputernotes.com
http://ecomputernotes.com
find(i):
// traverse to the root (-1) for(j=i; parent[j] >= 0; j=parent[j]) ; return j;
http://ecomputernotes.com
http://ecomputernotes.com
Parent Array
-1
-1
-1
-1
-1
-1
-1
7
-1
8
http://ecomputernotes.com
Parent Array
5 6
-1
1 After union(5,6)
-1
2
-1
3
-1
4
-1
5
5
6
-1
7
-1
8
http://ecomputernotes.com
Parent Array
5 6
7 8
-1
1 After union(7,8)
-1
2
-1
3
-1
4
-1
5
5
6
-1
7
7
8
http://ecomputernotes.com
Parent Array
5 6 7 8
-1
1 After union(5,7)
-1
2
-1
3
-1
4
-1
5
5
6
5
7
7
8
http://ecomputernotes.com
Parent Array
3 4
5 6 7 8
-1
1 After union(3,4)
-1
2
-1
3
3
4
-1
5
5
6
5
7
7
8
http://ecomputernotes.com
Parent Array
http://ecomputernotes.com
3 4 5 6 7 8
-1 1 After union(4,5)
-1 2
-1 3
3 4
3 5
5 6
5 7
7 8
Parent Array
Find(8)
1 2 3 4 5 6 7 8
-1 1
-1 2
-1 3
3 4
3 5
5 6
5 7
7 8
http://ecomputernotes.com
http://ecomputernotes.com