特殊数据结构——并查集.docVIP

  • 3
  • 0
  • 约4.34千字
  • 约 6页
  • 2015-09-24 发布于安徽
  • 举报
特殊数据结构——并查集 在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中,其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的运行时间(1~3秒)内计算出试题需要的结果,只能采用一种全新的抽象的特殊数据结构——并查集来描述。 一、数学准备 首先,我们从数学的角度给出等价关系和等价类的定义: 定义1:如果集合S中的关系R是自反的,对称的,传递的,则称他为一个等价关系。 ——自反:x=x; ——对称:若x=y,则y=x; ——传递:若x=y、y=z,则x=z。 要求:x、y、z必须要同一个子集中。 定义2:如果R是集合S的等价关系。对于任何x∈S,由[x]R={y|y∈S and xRy}给出的集合[x]R称为由x∈S生成的一个R的等价类。 定义3:若R是集合S上的一个等价关系,则由这个等价关系可产生这个集合的唯一划分。即可以按R将S划分为若干不相交的子集S1,S2,S3,S4,……,他们的并即为S,则这些子集Si变称为S的R等价类。 划分等价类的问题的提法是:要求对S作出符合某些等价性条件的等价类的划

文档评论(0)

1亿VIP精品文档

相关文档