1.两个基本操作:划分以及合并。
2.每个set都有一个representative,算是一个族长。执行的操作:
make-set(x):每个元素组成一个集合;
Union(x,y):将包含x、y的集合进行合并,代表元素会变化;
Find-set(x):返回包含x的指向某个代表元素指针;
3.数据结构:
(1)Linked-list:head,tail,每个object包含指向下个元素以及代表元素的指针;
(2)并查集森林(根树):union by rank以及path compression
伪代码: