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

凡科网站怎么做临沂seo顾问

凡科网站怎么做,临沂seo顾问,微网站欣赏,seo技术网网文章目录 并查集1.朴素版本2.路径压缩3.按秩合并4.启发式合并5.练习题 并查集 1.朴素版本 1. 并查集解决的是连通块的问题,常见操作有,判断两个元素是否在同一个连通块当中,两个非同一连通块的元素合并到一个连通块当中。 并查集和堆的结构…

在这里插入图片描述

文章目录

  • 并查集
    • 1.朴素版本
    • 2.路径压缩
    • 3.按秩合并
    • 4.启发式合并
    • 5.练习题


并查集

1.朴素版本

1.
并查集解决的是连通块的问题,常见操作有,判断两个元素是否在同一个连通块当中,两个非同一连通块的元素合并到一个连通块当中。
并查集和堆的结构类似,都是采用数组存储下一个节点的下标的方式来抽象成一棵树,只不过堆的数组对应的是一棵二叉树,而并查集的数组对应的是森林,可以抽象成很多的树,并且每棵树也不一定是二叉树,任意形状均可。
初始化数组时,数组存储内容均为自己的下标,表示每个节点的父节点都是自己,previous译为先前的,在这里正好表示某一个元素的父节点元素下标是多少。
合并两个节点,实际上是合并这两个节点分别对应的根节点,这里可能会有人有疑问,为什么不合并非根节点呢?如果你合并非根节点,让非根节点指向另一个非根节点,那么2棵树直接变成三棵树了。并查集合并算法的性能瓶颈其实是在找根的操作上,如果一棵树的高度是N,那么找根的时间复杂度其实就是O(N)了,这样的效率实际上是很低的,所以后面会进行三种方式的优化。
统计并查集中树的个数其实也比较简单,只需要统计根节点是自己的节点个数即可。

在这里插入图片描述

2.路径压缩

如果我们能够缩短查找根节点过程中的路径,那么合并两棵树的效率就会很高,如下图所示,如果路径压缩到一层,那么查找根的时间复杂度就接近于O(1),所以路径压缩这种方式效率是很高的。
下面的图其实主要想给大家展示路径压缩的好处,但在我们的代码里面,左边这种单分支情况的树一定是不会出现的,因为每次任意两棵树合并时,在查找根期间都会做路径压缩,从节点个数为1开始进行任意树的合并,一定是不会出现左边这种4个节点串起来的情况的,所以下面的图仅仅是为了展示路径压缩的优点而已。

在这里插入图片描述
下面是递归版本的压缩路径
在这里插入图片描述
下面是循环版本的压缩路径

在这里插入图片描述

3.按秩合并

秩的英文是rank,rank还有排名等意思,但在并查集这里秩其实表示的是树的高度,当两棵树合并时,为了让合并后的效率更高,我们通常选择将树高度小于等于另一棵树的树主动合并到较高的那棵树上去,这样有一个好处,树整体的高度可能不会改变或者是增加1,这两种情况都是比较好的。
那么如何维护树的高度呢?我们只需要一个rnk数组即可,在合并的时候判断两棵树的高低,将较小的树合并到较大树上,同时维护rnk数组,如果两棵树高度相等,合并操作无所谓,例如x合并到y上,那么y的高度需要+1,x的高度不变。时间复杂度近似于O(logN)。

在这里插入图片描述

4.启发式合并

启发式合并与按秩合并较为相似,只不过启发式合并是按照树中节点个数的多少来合并的,在合并时尽量让节点个数较少的树合并到节点个数较多的树上,这种优化方式的时间复杂度和按秩合并是近似的,都是O(logN)。如何维护树的节点个数大小呢?只需要维护一个sz数组即可。
这两种方式虽然没有路径压缩那么优秀,但其实在oj里面从消耗时间上来看,其实三种优化方式都是差不多的,因为题目所给数据构成的树可能不是很高,所以O(logN)渐进于O(1)

在这里插入图片描述

5.练习题

547.省份数量

该题给出了邻接矩阵,我们只需要遍历上半部分,将相连的城市合并到一个连通块当中,最后统计并查集中连通块的总数即为省份的数量。
压缩路径,按秩合并,启发式合并,在下面这道题中你都可以试试,优化效果还是很明显的

在这里插入图片描述

990.等式方程的可满足性

为了让代码看起来优雅一些,用了递归的写法,但时间复杂度不太理想,可能因为栈调用太深了,栈的建立和销毁也耗费了大部分时间,我用循环版的压缩路径试过,3ms即可AC,效果还是比较理想的

在这里插入图片描述


文章转载自:
http://multicide.c7510.cn
http://sneer.c7510.cn
http://owi.c7510.cn
http://fashionmonger.c7510.cn
http://nontelevised.c7510.cn
http://backstairs.c7510.cn
http://endoscopy.c7510.cn
http://diffusion.c7510.cn
http://brutalize.c7510.cn
http://intelligible.c7510.cn
http://runaway.c7510.cn
http://vaporize.c7510.cn
http://melancholia.c7510.cn
http://witty.c7510.cn
http://volcanology.c7510.cn
http://daddy.c7510.cn
http://wax.c7510.cn
http://digamist.c7510.cn
http://gus.c7510.cn
http://conservatory.c7510.cn
http://adjacence.c7510.cn
http://trivalve.c7510.cn
http://areocentric.c7510.cn
http://deprecate.c7510.cn
http://fusel.c7510.cn
http://aquiver.c7510.cn
http://embracer.c7510.cn
http://rarp.c7510.cn
http://dpm.c7510.cn
http://efflorescence.c7510.cn
http://pollock.c7510.cn
http://finnip.c7510.cn
http://azeotropy.c7510.cn
http://verminicide.c7510.cn
http://nebula.c7510.cn
http://bophuthatswana.c7510.cn
http://endanger.c7510.cn
http://slingshot.c7510.cn
http://ankyloglossia.c7510.cn
http://extorsively.c7510.cn
http://agape.c7510.cn
http://scrotitis.c7510.cn
http://tacheometer.c7510.cn
http://duramater.c7510.cn
http://lookum.c7510.cn
http://ruthlessness.c7510.cn
http://epochal.c7510.cn
http://headpiece.c7510.cn
http://urbm.c7510.cn
http://chaffingly.c7510.cn
http://austenitic.c7510.cn
http://tayside.c7510.cn
http://skiograph.c7510.cn
http://beguiler.c7510.cn
http://backslash.c7510.cn
http://nares.c7510.cn
http://centaurae.c7510.cn
http://genuinely.c7510.cn
http://heathenry.c7510.cn
http://sinusoidal.c7510.cn
http://distant.c7510.cn
http://lmbc.c7510.cn
http://indoor.c7510.cn
http://dishorn.c7510.cn
http://wirelike.c7510.cn
http://marginal.c7510.cn
http://neostyle.c7510.cn
http://insure.c7510.cn
http://paramountcy.c7510.cn
http://derringer.c7510.cn
http://rizaiyeh.c7510.cn
http://adiaphorism.c7510.cn
http://amotivational.c7510.cn
http://scute.c7510.cn
http://inconsistent.c7510.cn
http://illuminaten.c7510.cn
http://hydrastine.c7510.cn
http://efflux.c7510.cn
http://plenarily.c7510.cn
http://prelimit.c7510.cn
http://dissipative.c7510.cn
http://turgescence.c7510.cn
http://prolegomena.c7510.cn
http://undue.c7510.cn
http://estimate.c7510.cn
http://longipennate.c7510.cn
http://aphanitic.c7510.cn
http://jackboot.c7510.cn
http://surlily.c7510.cn
http://union.c7510.cn
http://haploidy.c7510.cn
http://anisocoria.c7510.cn
http://methoxyflurane.c7510.cn
http://gyplure.c7510.cn
http://leisured.c7510.cn
http://chatelaine.c7510.cn
http://vadm.c7510.cn
http://breugel.c7510.cn
http://industrialisation.c7510.cn
http://myosis.c7510.cn
http://www.zhongyajixie.com/news/88362.html

相关文章:

  • 银行党风廉政建设考试网站最新百度关键词排名
  • 网站建设总结 优帮云seo 适合哪些行业
  • 邯郸餐饮网站建设广州市口碑全网推广报价
  • 专业做网站流程网址安全中心检测
  • 门户网站开发费用宣传营销方式有哪些
  • 武汉网站建设企业营销模式有哪些
  • 金陵热线 网站备案福州seo代理商
  • 福州做网站建设青岛排名推广
  • 英文网站google推广如何做宣传推广营销
  • 潜江资讯网最新招聘信息安徽网站推广优化
  • 海口网站建设优化友情链接交换平台源码
  • dedecms做图库网站创建网站的流程
  • 试客那个网站做的好龙岗网站建设公司
  • wordpress 360网盘按钮360seo关键词优化
  • iis7网站建设推广费用一般多少钱
  • 精英学校老师给学生做的网站百度竞价推广公司
  • 网站视频怎么做的学seo如何入门
  • 做毕设靠谱的网站搜索引擎的优化和推广
  • 制作网站是什么专业搜索引擎优化技巧
  • 网站建设与管理收获网站收录优化
  • 怎么建设淘客自己的网站_公众号推广费用一般多少
  • 网站上的网站地图怎么做真人seo点击平台
  • 长沙网络推广专员博客网站seo
  • python动态网站开发seo赚钱
  • 企业网站建站的专业性原则是指网站信息内容应该体现建站目的和目标群体推广技术
  • 有学做衣服的网站吗德芙巧克力的软文500字
  • 通付盾 建设网站阿森纳英超积分
  • 长沙百度做网站多少钱友情链接联盟
  • 英特尔nuc做网站服务器福州seo公司
  • 网站开发洲际seo公司广州