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

做数据同步的两个网站网站制作公司教你怎么制作网站

做数据同步的两个网站,网站制作公司教你怎么制作网站,市场营销策划书模板,江西住房和城乡建设部网站首页并查集 并查集主要有三个功能。 寻找根节点#xff0c;函数#xff1a;find(int u)#xff0c;也就是判断这个节点的祖先节点是哪个将两个节点接入到同一个集合#xff0c;函数#xff1a;join(int u, int v)#xff0c;将两个节点连在同一个根节点上判断两个节点是否在…并查集 并查集主要有三个功能。 寻找根节点函数find(int u)也就是判断这个节点的祖先节点是哪个将两个节点接入到同一个集合函数join(int u, int v)将两个节点连在同一个根节点上判断两个节点是否在同一个集合函数isSame(int u, int v)就是判断两个节点是不是同一个根节点 并查集可以解决的问题两个节点是否在一个集合也可以将两个节点添加到一个集合中。 难点在于根的路径压缩的理解 寻找图中是否存在路径  1971. 寻找图中是否存在路径 有一个具有 n 个顶点的 双向 图其中每个顶点标记从 0 到 n - 1包含 0 和 n - 1。图中的边用一个二维整数数组 edges 表示其中 edges[i] [ui, vi] 表示顶点 ui 和顶点 vi 之间的双向边。 每个顶点对由 最多一条 边连接并且没有顶点存在与自身相连的边。 请你确定是否存在从顶点 source 开始到顶点 destination 结束的 有效路径 。 给你数组 edges 和整数 n、source 和 destination如果从 source 到 destination 存在 有效路径 则返回 true否则返回 false 。 class Solution { public:bool validPath(int n, vectorvectorint edges, int source, int destination) {/*深搜 / 广搜这里选择使用并查集进行实现使用并查集判断两个元素是否在同一个集合内部step1: 使用join(u,v)把每条边加入到并查集step2: 使用 isSame(int u,int v) 判断是否是同一个根【即是否属于同一个集合】*/// step0: 并查集初始化init(n);// step1: 把每条边加入并查集for(vectorint edge : edges) { // 每个元素就是一条边join(edge[0],edge[1]);}// step2: 使用 isSame(int u,int v) 判断是否是同一个根return isSame(source, destination);} private:vectorint father vectorint(200001,0) ; // 按照节点的大小定义数组长度void init(int n) { // 并查集初始化for(int i 1; 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 这条边加入并查集 father[v] uvoid join(int u, int v) {// 先判断两个元素是否在同一个集合内部u find(u);v find(v);if(u v) return;father[v] u;} }; 冗余连接  684. 冗余连接 树可以看成是一个连通且 无环 的 无向 图。 给定往一棵 n 个节点 (节点值 1n) 的树中添加一条边后的图。添加的边的两个顶点包含在 1 到 n 中间且这条附加的边不属于树中已存在的边。图的信息记录于长度为 n 的二维数组 edges edges[i] [ai, bi] 表示图中在 ai 和 bi 之间存在一条边。 请找出一条可以删去的边删除后可使得剩余部分是一个有着 n 个节点的树。如果有多个答案则返回数组 edges 中最后出现的那个。 class Solution {public int[] findRedundantConnection(int[][] edges) {/**图论删除相对于数来说的多余的一条边使用并查集的思想把每条边都加入到其中如果在加入的时候发现两个顶点已经同根即在一个并查集中此时就说明这条边是一条冗余边删除这条边即可*/int[] ans null;init(edges.length);for(var edge : edges) {if(!join(edge[0],edge[1])) {ans edge;break;}}return ans;}private int[] father;private void init(int vLen) { // 并查集的初始化 // 传入顶点数father new int[vLen1];for(int i0; i vLen; i) {father[i] i; // father[i] i; 自身是自身的根即刚开始所有节点都是单项的}}// 找到一个元素的根int find(int u) {return father[u] u ? u: (father[u] find(father[u]));}// 把 u-v 加入并查集private boolean join(int u, int v) {u find(u);v find(v);if(u v) return false;father[u] v;return true;}// 判断两个节点是否同根public boolean isSame(int u, int v) {u find(u);v find(v);return u v;} }
http://www.hkea.cn/news/14291972/

相关文章:

  • 关于网站建设的问卷调查电脑租赁平台哪个好
  • WordPress网站封装app教程正规手游代理平台有哪些
  • wordpress 产品属性泉州百度网站快速优化
  • 专业做蛋糕视频网站免费在线观看电影
  • wordpress xss跨站脚本漏洞杭州seo中心
  • 淘宝上网站开发退款重庆免费网站推广软件
  • 淘宝客单页网站怎么做漯河市建设工程信息网
  • 去类似美团网站做软件开发kingcms 暂未创建网站首页
  • flash做网站哪个网站有教做面食
  • 芯港小镇建设管理中心网站如何进行网络营销服务创新
  • 佛山网站建设设计公司做网站 江门
  • 做一个信息网站多少钱php 禁止电脑访问网站
  • 创业开网站建设公司东道官网
  • 网站建设开发文档线上平台推广是做什么的
  • 金坛市政建设有限公司网站互联网网站分了
  • 网站后台ftp账户上海网站设计工具
  • 石桥铺做网站成都门户网站
  • 网站建设的主要观点企业信息化建设方案 网站
  • 汽车美容网站模板岗巴网站建设
  • 做网站用什么源码福田欧辉新能源公交车
  • 做视频网站需要流量网页设计与制作教程psd格式
  • 黔南州建设局网站discuz 做企业网站
  • 佛山市骏域网站建设专家国家建设执业资格注册中心网站
  • 表格网站怎么做的腾讯企业邮箱登录入口手机版下载
  • 造价员建设部网站澄海手工外发加工网
  • 西安市沣东新城建设局网站在什么网站可以接国外的模具做
  • php网站建设的基本流程图承德信息发布微信平台
  • 音乐网站开发的项目背景中国商标网官网入口
  • 个人网站 域名选择南京网络营销外包价格
  • 网站平台建设十大公司有哪些做动图的网站