第十一章 并查集.pptVIP

  • 9
  • 0
  • 约3.36千字
  • 约 15页
  • 2018-06-30 发布于河南
  • 举报
第十一章 并查集

第十一章 并查集 山东财经大学 管理科学与工程学院 集合基本概念 集合是成员(对象或元素)的一个群集。集合中的成员可以是原子(单元素),也可以是集合。 集合的成员必须互不相同。 在算法与数据结构中所遇到的集合,其单元素通常是整数、字符、字符串或指针,且同一集合中所有成员具有相同的数据类型。 并查集 并查集是一种树型的数据结构,用于处理一些不相交集合的合并问题。 1-合并两个不相交集合 2-判断两个元素是否属于同一个集合 3-路径压缩 并查集的主要操作有 元素的合并图示 1 3 2 4 5 合并1和2 合并1和3 合并5和4 合并5和3 用数组表示集合 用pre[i]表示元素i的父亲结点,如图所示 1 2 3 5 4 pre[1]=-1 pre[2]=1 pre[3]=1 pre[4]=5 pre[5]=3 判断元素是否属于同一集合 判断5与10是否在同一个集合中 1 2 3 5 6 4 8 7 10 查找: int Find(int x)//查找 { ???? int p = x; ???? while( pre[p] 0 )??? p = pre[p]; return p; } 让pre[root]的值为结点总数的相反数 1 2 3 5 6 11 int num(int x)//返回结点总数 { ???? int p = x; ???? while( pre[

文档评论(0)

1亿VIP精品文档

相关文档