首页 > 其他分享 >并查集

并查集

时间:2022-12-01 23:57:10浏览次数:33  
标签:Parent int 查集 ElementType Root1 Find SetType

typedef struct {
    ElementType Data;
    int Parent; // 双亲表示法
} SetType;

int Find(SetType S[], ElementType X) {
    int i;
    for (i = 0; i < MaxSize && S[i].Data != X; ++ i);
    if (i == MaxSize) return -1;
    for (; S[i].Parent >= 0; i = S[i].Parent);
    return i;
}

void Union(SetType S[], ElementType X1, ElementType X2) {
    int Root1 = Find(S, X1);
    int Root2 = Find(S, X2);
    if (Root1 != Root2)
        if (S[Root1].Parent <= S[Root2].Parent) {
            S[Root1].Parent += S[Root2].Parent;
            S[Root2].Parent = Root1;
        } else {
            S[Root2].Parent += S[Root1].Parent;
            S[Root1].Parent = Root2;
        }
}

标签:Parent,int,查集,ElementType,Root1,Find,SetType
From: https://www.cnblogs.com/shenpengfii/p/16943172.html

相关文章

  • POJ - 1308 Is It A Tree?(并查集)
    POJ-1308IsItATree?(并查集)题目大意:传送门对于每一组测试样例,给出若干条无向边,判断由这些无向边构成的图是否为无环连通图题目分析:要点1:无环联通图(树)的性质:边......
  • [模板] 并查集
    并查集structDSU{vector<int>fa,rk;explicitDSU(intn):fa(n+1),rk(n+1){for(inti=1;i<=n;i++)fa[i]=i;}......
  • [并查集 维护大小 全局输入]L2-007 家庭房产
    [并查集]L2-007家庭房产​​题目链接​​思路显然的并查集题目,感觉要维护挺多东西的维护集合最小编号,集合大小,集合房产套数,集合房产面积(人均的到时候除以下大小就完事了)......
  • pat 并查集题目代码详解
    不得不吐槽并查集的题太少了1118:1//一道并查集查询的题目2//需要注意的几个点3//输入的时候在进行合并时,是一个一个输入的,所以需要引入一个变量来存储前一个输......
  • 并查集(草稿)
    最近在尝试参加一些算法比赛,遇到一个并查集的题目,虽然之前学过,但是没怎么刷题所以就忘了,于是花时间开始复习,遇到一些问题记录下来并查集(待补)倒序操作452.序列操作......
  • ABC 214D Sum of Maximum Weights(并查集模拟删边)
    ABC214DSumofMaximumWeights(并查集模拟删边)SumofMaximumWeights​ 给出有\(n\;(2\len\le1e5)\)个点的一棵树,定义\(f(x,y)\)表示从节点x到节点y的最短......
  • 可撤销并查集学习笔记
    前言与可持久化并查集一起食用,效果更佳。前置知识:并查集以及并查集的按秩合并优化。例题引入你需要维护一棵\(n\)个点的动态森林,初始时是\(n\)个散点,有\(q\)个......
  • T292115 [传智杯 #5 练习赛] 树的变迁(并查集+倒序操作处理树分裂)
    T292115[传智杯#5练习赛]树的变迁题目大意:给定一棵具有\(n\)个节点的树,每个节点有一个初始权值\(a_i\)。一共需要进行\(m\)次操作,每次操作包括:1.1e编号......
  • 并查集
    title:并查集date:2022-11-1511:49:57tags:算法本文章遵守知识共享协议CC-BY-NC-SA,转载时需要署名,推荐在我的个人博客阅读。并查集是一种数据结构,用于合并两个......
  • 并查集教学
    并查集简介并查集是一个树形的数据结构,能够实现以下功能:将两个节点所属的两个集合合并查询两个节点是否在一个集合里并查集教学我们以洛谷的并查集板题为例P3367......