当前位置: 首页 > news >正文

2021给个最新网站免费工程信息查询

2021给个最新网站,免费工程信息查询,宝塔面板怎么做网站,网站建设接私活平台并查集(Union-Find)是一种数据结构,它提供了处理一些不交集的合并及查询问题的高效方法。并查集主要支持两种操作: 查找(Find):确定某个元素属于哪个子集,这通常意味着找到该子集的…

并查集(Union-Find)是一种数据结构,它提供了处理一些不交集的合并及查询问题的高效方法。并查集主要支持两种操作:

查找(Find):确定某个元素属于哪个子集,这通常意味着找到该子集的“代表元素”或“根元素”。

合并(Union):将两个子集合并成一个集合。

并查集通过数组或树形结构来实现,其中每个节点指向其父节点,根节点指向自身,这样形成一个或多个树形结构。每棵树代表一个集合,树根的标识符(通常是数组的索引)代表整个集合的标识符。

基本概念:
初始化:开始时,每个元素各自构成一个单元素集合,即每个元素的父节点是其自身。
路径压缩:在执行查找操作时,将查找路径上的每个节点直接连接到根节点,这样可以加快后续查找的速度。
按秩合并:合并时,总是将更小的树连接到更大的树的根节点上,这可以帮助避免树变得过深,从而保持操作的效率。

并查集的重要思想在于,用集合中的一个元素代表集合。
在这里插入图片描述
现在1号和3号比武,假设1号赢了(这里具体谁赢暂时不重要),那么3号就认1号作帮主(合并1号和3号所在的集合,1号为代表元素)。
在这里插入图片描述
现在2号想和3号比武(合并3号和2号所在的集合),但3号表示,别跟我打,让我帮主来收拾你(合并代表元素)。不妨设这次又是1号赢了,那么2号也认1号做帮主。
在这里插入图片描述
上面大概介绍完了整体的东西下面介绍一下细节:
在这里插入图片描述
下面是代码部分:

// 查找i的代表元素,并进行路径压缩优化
int find(int i) {if (fa[i] == i)  // 如果元素i指向自己,那么它是代表元素return i;elsereturn fa[i] = find(fa[i]);  // 否则递归查找,并更新i的父链接为代表元素
}// 合并i和j所在的集合
void unionn(int i, int j) {int i_fa = find(i);  // 查找i的代表元素int j_fa = find(j);  // 查找j的代表元素fa[i_fa] = j_fa;     // 将i的集合合并到j的集合中
}

find 函数通过递归查找找到一个元素的代表元素,并在查找的过程中将元素直接链接到代表元素,这个优化叫做路径压缩,它可以减少后续查找的时间。

unionn 函数将两个元素所在的集合合并成一个集合。它首先找到每个元素的代表元素,然后将其中一个集合的代表元素链接到另一个集合的代表元素上,从而完成合并。这里没有实现按秩合并或路径压缩的更复杂的优化。

下面是一道题
在这里插入图片描述

public class UnionFind {private int[] parent;public UnionFind(int n) {parent = new int[n];for (int i = 0; i < n; i++) {parent[i] = i;}}public int find(int x) {if (x != parent[x]) {parent[x] = find(parent[x]);}return parent[x];}public void union(int x, int y) {parent[find(x)] = find(y);}public boolean isConnected(int x, int y) {return find(x) == find(y);}public static void main(String[] args) {UnionFind uf = new UnionFind(10);uf.union(0, 1); // Marry person 1 and 2uf.union(2, 3); // Marry person 3 and 4boolean areMarried = uf.isConnected(1, 4); // Check if person 2 and 5 are relatedSystem.out.println(areMarried ? "YES" : "NO"); // Output should be "NO" if unrelated}
}
http://www.yayakq.cn/news/911891/

相关文章:

  • 网站流量怎么赚钱技术支持 石家庄网站建设
  • 做电影网站哪个服务器好网页设计与制作教程上什么学校
  • 滨州网站建设 远洋科技能看街景的软件
  • 关于网站空间展厅设计公司logo
  • 昆明制作网站公司jsp简述网站开发流程图
  • 做网站的图片一般放哪网络管理软件免费
  • 上海城乡建设部网站首页百度统计代码
  • 在线名片制作网站开发做网站备完备案需要干什么
  • 住房城乡建设部招投标网站做网站记者的出路是什么
  • 网站地图制作视频教程网页设计登录界面模板
  • 职业学校网站模板滁州seo排名
  • 长春网长春网站设计站建设福州建站模板
  • 做58类网站需要多少钱烟台响应式网站建设
  • 个人网站制作流程东莞市网站建设
  • phpnow 新建网站公司名字查重系统
  • 昆明网站快照优化公司网站建设费用首选网络
  • 广东建设安全质量协会网站开发公司岗位设置
  • 中国建设监理协会继续教育网站下载京东网上商城
  • 网站如何制作杭州网站改版公司电话
  • 徐州建设局网站安全证网站备案通管局
  • 济南集团网站建设费用京东app下载安装官网免费下载
  • 做电影网站挣钱windos 下做网站工具
  • html网站开发基础国产成年做视频网站
  • 江西seo网站排名优化做国际贸易的一般用什么平台
  • 山东专业网站建设公司哪家好广州天河区必去的地方
  • 湖南金科建设有限公司网站射阳做企业网站多少钱
  • 网站优化关键词排名公司门户网站盈利模式
  • 网站备案换ip广东华业建设有限公司网站
  • 做网站 公司自学开发一个游戏app
  • 江苏网站建设简介模板网站托管服务合同