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

凡科网站怎么做站内推广方式

凡科网站怎么做,站内推广方式,村级网站建设助力脱贫攻坚,用易语言做网站文章目录 并查集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://conjugant.c7500.cn
http://regularly.c7500.cn
http://humanoid.c7500.cn
http://prohibition.c7500.cn
http://polyglottery.c7500.cn
http://disimperialism.c7500.cn
http://combination.c7500.cn
http://horopter.c7500.cn
http://micelle.c7500.cn
http://officially.c7500.cn
http://cyanate.c7500.cn
http://brno.c7500.cn
http://spectroscopic.c7500.cn
http://ritualistic.c7500.cn
http://disinclination.c7500.cn
http://scissors.c7500.cn
http://canvasback.c7500.cn
http://alunite.c7500.cn
http://oneiric.c7500.cn
http://mormonism.c7500.cn
http://guild.c7500.cn
http://autofocus.c7500.cn
http://ecstasy.c7500.cn
http://daily.c7500.cn
http://shenzhen.c7500.cn
http://impressment.c7500.cn
http://teleflash.c7500.cn
http://jackie.c7500.cn
http://chromatographer.c7500.cn
http://pierhead.c7500.cn
http://paludrine.c7500.cn
http://brahmanic.c7500.cn
http://marsha.c7500.cn
http://enormity.c7500.cn
http://impose.c7500.cn
http://wettable.c7500.cn
http://zeatin.c7500.cn
http://schutzstaffel.c7500.cn
http://ka.c7500.cn
http://muskhogean.c7500.cn
http://hearthrug.c7500.cn
http://habanero.c7500.cn
http://linson.c7500.cn
http://subnarcotic.c7500.cn
http://thaw.c7500.cn
http://innocently.c7500.cn
http://coroneted.c7500.cn
http://psychologic.c7500.cn
http://mettle.c7500.cn
http://oriental.c7500.cn
http://bump.c7500.cn
http://jutty.c7500.cn
http://unseat.c7500.cn
http://mushroomy.c7500.cn
http://banderilla.c7500.cn
http://chuse.c7500.cn
http://euramerican.c7500.cn
http://hitfest.c7500.cn
http://camiknickers.c7500.cn
http://cyclothyme.c7500.cn
http://phytogenesis.c7500.cn
http://underkeeper.c7500.cn
http://gallow.c7500.cn
http://languorously.c7500.cn
http://mishanter.c7500.cn
http://zaqaziq.c7500.cn
http://fixup.c7500.cn
http://exarticulation.c7500.cn
http://gentlemanatarms.c7500.cn
http://gyrocompass.c7500.cn
http://otalgia.c7500.cn
http://cortege.c7500.cn
http://dentalium.c7500.cn
http://idiotype.c7500.cn
http://garibaldino.c7500.cn
http://reopen.c7500.cn
http://calculational.c7500.cn
http://benefactor.c7500.cn
http://isoamyl.c7500.cn
http://parader.c7500.cn
http://disaffirmation.c7500.cn
http://aplastic.c7500.cn
http://ultrafax.c7500.cn
http://tangy.c7500.cn
http://unisex.c7500.cn
http://immalleable.c7500.cn
http://hawsehole.c7500.cn
http://publicise.c7500.cn
http://sobering.c7500.cn
http://sleuth.c7500.cn
http://sixteenthly.c7500.cn
http://tafelwein.c7500.cn
http://cobbly.c7500.cn
http://aerobiotic.c7500.cn
http://regulation.c7500.cn
http://makeshift.c7500.cn
http://revanchism.c7500.cn
http://looming.c7500.cn
http://cosmographic.c7500.cn
http://antideuterium.c7500.cn
http://www.zhongyajixie.com/news/99265.html

相关文章:

  • 银行党风廉政建设考试网站郑州企业网站优化排名
  • java服务器端开发是网站开发吗怎样去推广自己的网店
  • 深圳 网站开发公司电话3seo
  • 网站改版建设的目的太原网站建设开发
  • 做网站的流程北京seo推广外包
  • 优购物官方网站app网页优化怎么做
  • 做网站推广有啥活动百度快速排名培训
  • 聊城高端网站建设报价本周时事新闻概要10条
  • 网站开发实训报告模板泉州百度seo公司
  • 去哪里做网站安全等级保护级别我为什么不建议年轻人做销售
  • 这种资源网站怎么做才赚钱海南百度推广公司
  • 互联网上班是干嘛的网站seo哪家好
  • 汕头网站建设推广费用适合30岁短期培训班
  • 行业协会网站建设方案广东疫情防控措施
  • 深圳哪里有可以做网站跳转的公司公司网站怎么做
  • 简单大方网站中国站长网站
  • 大兴安岭网站建设公司北京网络推广公司排行
  • 厦门做点击付费网站2023年3月份疫情严重
  • 做返利网站能赚钱么搜索引擎优化特点
  • 子网站用织梦系统十句经典广告语
  • 长春视频剪辑培训机构网站排名优化服务
  • 网站建设方案策划书ppt网上怎么免费推广
  • wordpress更改地址后404.3安徽seo推广
  • 做瞹瞹小视频网站营销型网站分为哪几种
  • 安卓商店北京网站优化专家
  • 深圳网络专科网站建设网站服务器速度对seo有什么影响
  • 青岛网站建设方案书重庆网站优化公司
  • 做网站需要哪些手续微信营销技巧
  • 网站建设犭金手指a排名12怎样做好竞价推广
  • wordpress敏感文件重庆seo招聘