如何划分等价类 假设集合 S 有 n 个元素,m个形如(x, y)(x, y ∈ S) 的等价偶对确定了等价关系R,求R a. 令S中的每个元素各自形成一个只含单个成员的子集,记作 S1 , S2 , … , Sn。 b. 重复读入 m 个偶对,对每个读入的偶对(x, y),判定 x 和 y 所属的子集。假设x ∈ Si , y ∈ Sj , 若 Si != Sj ,则将Si并入Sj,并置Si为空(或将Sj并入Si,并置Sj为空)。在m个偶对都被处理过后,S1 , S2 , … , Sn中所有非空子集即为S 的R的等价类 【其实就是构造只含单个成员的集合;判定某个单元素所在的子集;归并两个互不相交的集合成为一个集合】
利用树型结构表示集合,并划分等价类
以森林 F = ( T1, T2, … ,Tn ) 来表示上述集合 S,森林中的每一棵树 Ti ( i = 1, 2, … , n ) 表示 S 中的一个元素 一一 子集 Si (Si ⊂ S, i = 1, 2, … , n),树中的每个结点表示子集中的一个成员 x ( 结点结构采用双亲表示法,即设置一个指针域指向其双亲结点 ),约定根节点的成员 / 数据域兼作子集的名称。