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

建网站的书籍企业信用信息查询方式

建网站的书籍,企业信用信息查询方式,小程序制作流程收费,互联网全网营销并查集理论基础 基础内容 并查集常用来解决连通性问题,主要有两个功能: 将两个元素添加到一个集合中判断两个元素在不在同一个集合 将三个元素A,B,C (分别是数字)放在同一个集合,其实就是将…

并查集理论基础

基础内容

并查集常用来解决连通性问题,主要有两个功能:

  • 将两个元素添加到一个集合中
  • 判断两个元素在不在同一个集合

将三个元素A,B,C (分别是数字)放在同一个集合,其实就是将三个元素连通在一起,只需要用一个一维数组来表示,即:father[A] = B,father[B] = C (有向连通图)。对ABC进行寻根,如果都是C,说明在同一个集合里。 此时需要初始化father[C] = C

路径压缩

由于搜索过程像是一个多叉树中从叶子到根节点的过程,如果多叉树高度很深的话,每次find函数寻找根的过程就要递归很多次。所以将除了根节点其他所有节点都挂载根节点下,在寻根的时候就很快。

路径压缩的核心思想是在查找某个节点的根节点时,将沿途的所有节点直接连接到根节点。

并查集模版C++

int n = 1005; // n根据题目中节点数量而定,一般比节点数量大一点就好
vector<int> father = vector<int> (n, 0); // C++里的一种数组结构// 并查集初始化
void init() {for (int i = 0; i < n; ++i) {father[i] = i;}
}
// 并查集里寻根的过程
int find(int u) {return u == father[u] ? u : father[u] = find(father[u]); // 路径压缩
}// 判断 u 和 v是否找到同一个根
bool isSame(int u, int v) {u = find(u);v = find(v);return u == v;
}// 将v->u 这条边加入并查集
void join(int u, int v) {u = find(u); // 寻找u的根v = find(v); // 寻找v的根if (u == v) return ; // 如果发现根相同,则说明在一个集合,不用两个节点相连直接返回father[v] = u;
}

并查集主要有三个功能:

  • 寻找根节点,函数:find(int u),也就是判断这个节点的祖先节点是哪个
  • 将两个节点接入到同一个集合,函数:join(int u, int v),将两个节点连在同一个根节点上
  • 判断两个节点是否在同一个集合,函数:isSame(int u, int v),就是判断两个节点是不是同一个根节点

寻找存在的路径

对模版的直接应用,学习一下如何使用Java表示模版

import java.util.*;
public class Main{public static void main (String[] args) {Scanner scan=new Scanner(System.in);int n=scan.nextInt();int m=scan.nextInt();DisJoint disJoint=new DisJoint(n+1);for(int i=0;i<m;i++){disJoint.join(scan.nextInt(),scan.nextInt());}if(disJoint.isSame(scan.nextInt(),scan.nextInt())) System.out.println("1");else System.out.println("0");}
}class DisJoint{private int[] father;public DisJoint(int N){father=new int[N];for(int i=0;i<N;i++){father[i]=i;}}public int find(int n){return n==father[n]?n:(father[n]=find(father[n]));}public void join(int u,int v){u=find(u);v=find(v);if(u==v) return;father[v]=u;}public boolean isSame(int u,int v){u=find(u);v=find(v);return u==v;}
}
http://www.yayakq.cn/news/563005/

相关文章:

  • wordpress站群远程管理软件深圳网站制作收费
  • 做学校网站会下线吗计算机网站开发实现总结
  • 专业网站托管.net开发的网站能做优化吗
  • 电影频道做的网站广告免费ppt模板下载熊猫办公
  • 网站被黑 原因wordpress中文用户名注册
  • 洛阳便宜网站建设费用有做网站的吗 优帮云
  • 局域网网站建设需要什么条件福州网站建设思企
  • 家政网站制作灵璧县建设局网站
  • 双语网站管理系统宁德seo
  • 建设网站的网站有哪些pycharm 做网站
  • 建设pc端网站是什么意思wordpress 干扰码插件
  • 怎么网站代备案中国企业100强排名
  • 如何链接自己做的网站2023全国企业公司大黄页
  • 拱墅区做网站抖音生活服务旅行社ota入驻
  • 宁波建设网图网站seo优化服务
  • 企业网站建设流程的第一步工作是品牌建设规划品牌意向
  • 哪个网站能在家做兼职wordpress首页翻页无效
  • 关于做网站的策划书海外营销网站
  • 网站移动端开发需要哪些技术网页网站建设软件有哪些
  • 怎么看网站做没做seo做男女之间的事情的网站
  • 制作网站怎么做江苏省交通建设厅门户网站
  • 网站节约化建设免费自助建站代理
  • 怎么给汽车网站做推广商业网站建设视频教程
  • 哈尔滨建站流程有没有免费的源码网站
  • 贵城乡建设官方网站微信网站多少钱
  • 网络营销推广网站收录h5网站是什么意思
  • 浙江网站建设的要求加速器怎么加速网页
  • 制作简历的免费模板网站类似淘宝的网站怎么做的
  • 重庆优化网站公司做的时间长的网站制作公司
  • 如何做品牌网站设计重庆南岸营销型网站建设公司推荐