小标
2019-02-11
来源 :
阅读 1118
评论 0
摘要:本文主要向大家介绍了【云计算】数据结构之并查集,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。
本文主要向大家介绍了【云计算】数据结构之并查集,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。
public class MyUF5 implements MyUnionFind {
//简单的并查集实现
//添加属性 当前节点有多少个元素 初始值为1
private int[] parent;
private int[] rank;
public MyUF5(int size){
rank = new int[size];
parent = new int[size];
//初始化数组 假设 每个数组属于对应索引的组
for(int i = 0;i=parent.length)
throw new IllegalArgumentException("index erro");
//递归找到根节点 并将根节点返回给路径上的所有对象
if(id!=parent[id])
//如果不是根节点 递归查找根节点
parent[id]=find(parent[id]);
//是根节点 返回根节点
return parent[id];
}
@Override
public int getSize() {
return parent.length;
}
@Override
public void unionE(int p, int q) {
int pf=find(p);
int qf = find(q);
if(pf==qf)
return;
//判断谁的树深 将深度浅的指向深度深的
if(rank[pf]rank[qf])
parent[qf]=pf;
else{
//相等
parent[pf]=qf;
rank[qf]+=1;
}
}
@Override
public boolean isConnected(int p, int q) {
return find(p)==find(q);
}
}
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号