1.5.1使用quick-find算法处理序列9-0 3-4 5-8 7-2 2-1 5-7 0-3 4-2。对于输入的每一对整数,给出id[]数组的内容和访问数组的次数。
答:
public class UF
{
private int[] id;
private int count;
public UF(int N)
{
count=N;
id=new int[N];
for (int i=0;i<N;i++)
{
id[i]=i;
StdOut.printf("%3d",i);
}
StdOut.println();
}
public int count()
{return count;}
boolean connected(int p,int q)
{return find(p)==find(q);}
//quick-find
public int find(int p)
{return id[p];}
public void union(int p,int q)
{
int pID=find(p);
int qID=find(q);
if (pID==qID) return;
for (int i=0;i<id.length;i++)
if(id[i]==pID) id[i]=qID;
count--;
for (int i=0;i<id.length;i++)
StdOut.printf("%3d",id[i]);
StdOut.println();
}
/*
public int find(int p)
{
while(p!=id[p]) p=id[p];
return p;
}
public void union(int p,int q)
{
int pRoot=find(p);
int qRoot=find(q);
if(pRoot==qRoot) return;
id[pRoot]=qRoot;
count--;
}
*/
public static void main(String[] qrgs)
{
int N=StdIn.readInt();
UF uf=new UF(N);
while (!StdIn.isEmpty())
{
int p=StdIn.readInt();
int q=StdIn.readInt();
if(uf.connected(p,q)) continue;
StdOut.println(p+ " " +q);
uf.union(p,q);
}//end while
}//end main
}//end class
文件:tinyUF.txt
10
9
0
3
4
5
8
7
2
2
1
5
7
0
3
4
2
相关文章
- 基于SqlSugar的开发框架循序渐进介绍(24)-- 使用Serialize.Linq对Lambda表达式进行序列化和反序列化 基于SqlSugar的开发框架循序渐进介绍(5)-- 在服务层使用接口注入方式实现IOC控制反转 基于SqlSugar的开发框架循序渐进介绍(7)-- 在文件上传模块中采用选项模式【Options】处理常规上传和FTP文件上传 基于SqlSugar的开发框架循序渐进介绍(12)-- 拆分页面模块内容为组件,实现分而治之的处理 基于SqlSugar的开发框架循序渐进介绍(14)-- 基于Vue3+TypeScript的全局对象的注入和使用 基于SqlSugar的开发框架循序渐进介绍(16)-- 工作流模块的功能介绍 基于SqlSugar的开发框架循序渐进介绍(17)-- 基于CSRedis实现缓存的处理 基于SqlSugar的开发框架循序渐进介绍(21)-- 在工作流列表页面中增加一些转义信息的输出,在后端进行内容转换 基于SqlSugar的开发框架循序渐进介
- 【数据挖掘&机器学习】招聘网站的职位招聘数据的分位数图、分位数-分位数图以及散点图、使用线性回归算法拟合散点图处理详解
- 在Python中使用KNN算法处理缺失的数据
- Python时间序列处理之ARIMA模型的使用讲解
- 检测用户命令序列异常——使用LSTM分类算法【使用朴素贝叶斯,类似垃圾邮件分类的做法也可以,将命令序列看成是垃圾邮件】
- php使用高斯算法实现图片的模糊处理功能示例
- iOS之使用AFN进行序列化处理(5)
- Python中使用hashlib模块处理算法的教程
- 【节前分享】用最简单的方式在C#中使用多线程加速耗时的图像处理算法的执行(多核机器)。
- Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全 C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数 C# 算法题系列(一) 两数之和、无重复字符的最长子串 DateTime Tips c#发送邮件,可发送多个附件 MVC图片上传详解