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

网站建设课程简介图片黄页广告公司

网站建设课程简介图片,黄页广告公司,微信小程序的推广方式,张家口城乡建设局网站一、模型建立 本质就是一个数组,数组的下标对应节点的编号,数组的值对应对应编号的节点的父节点。规定根节点的父节点是自己。 规定三个集合的根节点分别是1 4 6 二、并查集操作并实现 并查集主要操作:查找一个节点的父节点,判…

一、模型建立

本质就是一个数组,数组的下标对应节点的编号,数组的值对应对应编号的节点的父节点。规定根节点的父节点是自己。

规定三个集合的根节点分别是1 4 6

二、并查集操作并实现

并查集主要操作:查找一个节点的父节点,判断两个节点是不是在一个集合,合并两个节点所在的两个集合。

这里的第二第三个操作是基于第一个查找父节点的,但是查找父节点的操作有一个路径优化,所以最后再讲。

1、判断两个节点是不是在一个集合

看看两个节点的父节点是不是相同就行了。

bool issame(int x, int y)
{return find(x) == find(y);
}

2、合并两个节点所在的两个集合

让两个节点的父节点合并,即一个父节点是另一个父节点的父节点。

void U(int x, int y)
{int root1 = find(x);int root2 = find(y);a[root1] = root2;
}

3、查找一个节点的父节点

根据数组特性,只要不是数值等于下标,那就不是父节点,还需要找数值的父节点,即找当前节点的父亲的父亲。

int find(int x)
{if (a[x] == x)return x;return find(a[x]);
}

但是如果一开始的结构是近似单支树,那么每次查找的效率就会降低成O(N)

路径压缩:在遍历到根节点之后,回溯时把回溯过程中经历到的孩子节点的父节点全部修改成根节点,这样就压缩成了2层。

int find(int x)
{if (a[x] == x)return x;// 路径压缩:根的后代的父节点直接改成根return a[x] = find(a[x]);
}

三、例题

P3367 【模板】并查集 - 洛谷

#include "bits/stdc++.h"
using namespace std;
const int N = 2 * 1e5 + 10;
int a[N];
// 查找
int find(int x)
{if (a[x] == x)return x;// 路径压缩:根的后代的父节点直接改成根return a[x] = find(a[x]);
}
// 合并
void U(int x, int y)
{int root1 = find(x);int root2 = find(y);a[root1] = root2;
}// 判断
bool issame(int x, int y)
{return find(x) == find(y);
}int main()
{int n, m;cin >> n >> m;// 1.初始化所有点是单独一个集合,根是自己for (int i = 1; i <= n; i++)a[i] = i;while (m--){int op, x, y;cin >> op >> x >> y;if (op == 1)U(x, y);elseissame(x, y) == true ? cout << "Y" << endl : cout << "N" << endl;}return 0;
}

文章转载自:

http://h0KlbXUD.gxwyr.cn
http://UBcGvd55.gxwyr.cn
http://ItLdX92J.gxwyr.cn
http://UsMtP1KD.gxwyr.cn
http://yubcRzbU.gxwyr.cn
http://mdcHzk7Q.gxwyr.cn
http://KYI8Reme.gxwyr.cn
http://EePgFG4N.gxwyr.cn
http://InN7zM4H.gxwyr.cn
http://ZlDyumWE.gxwyr.cn
http://zayIjuI1.gxwyr.cn
http://pFupQNZf.gxwyr.cn
http://t2IkMWNo.gxwyr.cn
http://sZbgriql.gxwyr.cn
http://mSYXwmjS.gxwyr.cn
http://V4LlV9pL.gxwyr.cn
http://Vb9o0avG.gxwyr.cn
http://t0FWCObn.gxwyr.cn
http://u7tiy4L4.gxwyr.cn
http://5WKor9MG.gxwyr.cn
http://Ui1Y2CYy.gxwyr.cn
http://YkTpfJXu.gxwyr.cn
http://Bm2xNbs2.gxwyr.cn
http://EdOpMYoK.gxwyr.cn
http://fk51WdV6.gxwyr.cn
http://9yXYU9an.gxwyr.cn
http://Z3CMTwXk.gxwyr.cn
http://IHPphhvf.gxwyr.cn
http://BotQxvMN.gxwyr.cn
http://rR7qMte2.gxwyr.cn
http://www.dtcms.com/wzjs/691089.html

相关文章:

  • 多个域名绑定一个网站自己做商业网站
  • 有没有专门做数据分析的网站郑州网站分析
  • 中卫网站推广优化公司网站建设定制开发推广
  • 公司网站没做301怎么做301谁做彩票网站代理
  • 网站建设对企业影响有多大在猪八戒做网站有保障吗
  • 专业制作网站有哪些怎样在微信上开发小程序
  • 广州微信网站制作网站建设费的摊销
  • 电器企业网站建设做网站广告词找王思奇
  • 房产网站怎么推广支付宝 网站接口
  • 上街区网站建设兰州新区小程序建站
  • 湛江个人网站制作在哪里做西安房产网58
  • 句容住房和城乡建设局网站四川建站
  • seo同行网站wordpress企业建站模版
  • 网站论坛怎样建设大气黑色机械企业网站源码
  • 网站加视频播放设计怎么做的深圳做购物网站
  • 当当网网站建设需求分析网站不备案会怎么样
  • wap网站cms微信微网站开发策划
  • 网站建设费大概多少钱热门电影推荐
  • 看装修案例的网站dedecms做的网站收费吗
  • 张家口建站优化品牌开发者选择建议
  • html静态网站模板下载安康 住房城乡建设部网站
  • 无锡市无锡市住房和城乡建设局网站房屋装修效果图用什么软件
  • 企业免费网站白酒最有效的推广方式
  • 旅游网站需求分析怎么做的苏宁易购电商网站建设需求分析
  • 建设河南网站vs设置网站开发环境
  • 做展会怎么引流到自己的网站网站建设服务采购方案
  • 企业做的网站费入什么科目汕尾网站建设
  • 网站建设图片居中代码编程培训心得体会
  • 温州网站建功能网站模板
  • 什么网站可以做相册惠州私人做网站联系人