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

win2008做的网站打不开加盟网站有哪些

win2008做的网站打不开,加盟网站有哪些,科技信息期刊,毕设做网站是不是太low一、并查集的概念 并查集是一种树型的数据结构,用于处理一些不相交集合(disjoint sets)的合并及查询问题。常常在使用中以森林来表示。 最裸并查集: 合并元素a和元素b 所在的集合。查询元素a和元素b 是否属于同一组。是否在一个…

一、并查集的概念

并查集是一种树型的数据结构,用于处理一些不相交集合(disjoint sets)的合并及查询问题。常常在使用中以森林来表示。

最裸并查集:

  1. 合并元素a和元素b 所在的集合。
  2. 查询元素a和元素b 是否属于同一组。是否在一个集合当中 ,近乎 O(1) 时间内支持两个操作

在这里插入图片描述
分组和对应的例子

二、并查集的结构

并查集是树形结构。不过,不是二叉树。
每个元素对应一个节点,每个组对应一颗树。
在并查集中,哪个节点是哪个节点的父亲以及树的形状等信息不用关注,整体是树形结构才最重要

1. 初始化

每个元素初始化时,分别是每一个集合的根节点 p[x] = x
在这里插入图片描述

2. 合并

和下面图一样,从一个组的根向另一个组的跟连边,将两棵树变成 一颗树,也就是两个组变成一个组
在这里插入图片描述

3. 查询

为了查询两个节点是否同一组,只要沿着树向上走,查询根节点是否相同,根节点相同时同一组,否则不同组。如上图中 (2)(5)的根是 (1),而(7)的根是(6) 所以(2)和(5)是同一组,但是(2)和(7)不是同一组。

并查集实现的注意点

在树形数据结构中,如果发生退化情况(二叉树退化为一维链表),那么时间复杂度会变的很高。在并查集中,只需按照如下方法就可以避免退化。

  • 对于每棵树,记录树的高度(rank)
  • 合并时,如果两棵树的rank不同,那么rank小的向rank大的连边。

在这里插入图片描述
此外,通过路径压缩,可以使并查集更高效率。对于每个节点,一旦向上走到了一次根节点,就把这个点到父亲的边改成为直接连向根。
如需要查询(7),就可以直接将(7)连接到根上。
在这里插入图片描述
在此之上,不仅查询的节点,所有在查询过程中经过的所有节点,都可以直接连接到根上。再次查询时,就可以很快查询到根是谁了。
如下,将(2)(3)(4)(5)都连接到(1)中。
在这里插入图片描述
在使用这种化简方法时,为了简单起见,即使树的高度发生变换,也不再修改rank。

查并集的复杂度

加入两个优化后,查并集的效率非常高。对n个元素的查并集进行一次操作的复杂度为O(a(n))。在这里a(n)时阿克曼(Ackermann)函数的反函数。这要比O(log(n))还要快。

不过,这是“均摊复杂度”。并不是每次都满足,多次后,平均每次复杂度。

并查集的实现

Acwing 836 合并集合

#include <iostream>
using namespace std;const int N = 100010;int n, m;
int p[N];int find(int x) // 返回x的祖宗节点 + 路径压缩
{if(p[x] != x) p[x] = find(p[x]);return p[x];
}int main()
{scanf("%d%d", &n, &m);for(int i = 1; i <= n; i ++) p[i] = i;while(m --){char op[2];int a, b;scanf("%s%d%d", op, &a, &b);if(op[0] == 'M') p[find(a)] = find(b);else{if(find(a) == find(b)) puts("Yes");else puts("No");}}return 0;
}

在这里插入图片描述

http://www.yayakq.cn/news/252037/

相关文章:

  • 网站建设哪家服务周到建歌网站多少钱
  • 长春网站建设建站系统wordpress文章所属栏目
  • 网站开发好的公司推荐个人网站备案可以做博客吗
  • 现在做网站开发外贸网站如何选择域名
  • 哈尔滨网页网站制作什么是网络建设
  • 青岛网站开发费用地税局内网网站建设
  • 哪里有网站源文件下载【邯郸网络推广公司|邯郸网络营销公司】
  • 如何组建网站开发团队网站建设在学校中的作用
  • 洪山网站建设公司我们常见的网站有哪些方面
  • wordpress学做网站重庆茂尔建设集团有限公司网站
  • 企业网站推广论述谷歌商店安卓版下载
  • 南通专业网站设计制作网页制作公司需要什么资质
  • 坑梓网站建设代理商全国企业信用信息公示系统黑龙江
  • 网站设计网站建设专业黄海军事最新消息
  • html用什么编译器编写广州网站优化步骤
  • 深圳富通做网站一个网站做两个优化可以做吗
  • 黄岩路桥网站设计免费网站建设免代码
  • 做网站挣钱经历网站建设的培训心得
  • 临沂做网站wyjzgzswordpress 4.4.3
  • 建文帝网站建设百度搜索引擎营销案例
  • 盐城哪家做网站的正规提供邯郸手机网站建设
  • 咸阳免费做网站公司ui做自适应网站
  • 八字排盘网站建设企业推广服务
  • 那个网站专门做二手衣服做微网站需要哪种公众号
  • 网站建设中有关层的使用的步骤百度官网首页登录入口
  • 从什么网站可以做兼职中企动力科技股份有限公司深圳分公司
  • 电子商务网站项目计划贵阳企业自助建站
  • 做视频网站赚钱嘛网页设计作业笔记
  • 江西企业 网站建设公司都是自己制作网站
  • 网站制作素材图片西安网站建设 分类信息