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

主流的网站开发框架wordpress登陆的插件

主流的网站开发框架,wordpress登陆的插件,wordpress 移动插件,做网站的人联系电话并查集的优化 导读一、合并优化1.1 基本原理1.2 按大小合并1.3 按秩合并1.4 两种合并的区别**1.4.1 核心目标****1.4.2 数据存储****1.4.3 合并逻辑****1.4.4 树高控制****1.4.5 适用场景****1.4.6 路径压缩兼容性****1.4.7 极端案例对比****1.4.8 小结**二、查找优化2.1 路径压…

并查集的优化

  • 导读
  • 一、合并优化
    • 1.1 基本原理
    • 1.2 按大小合并
    • 1.3 按秩合并
    • 1.4 两种合并的区别
      • **1.4.1 核心目标**
      • **1.4.2 数据存储**
      • **1.4.3 合并逻辑**
      • **1.4.4 树高控制**
      • **1.4.5 适用场景**
      • **1.4.6 路径压缩兼容性**
      • **1.4.7 极端案例对比**
      • **1.4.8 小结**
  • 二、查找优化
    • 2.1 路径压缩
    • 2.2 算法实现
  • 三、算法评估
    • 3.1**时间复杂度**
      • 3.1.1 **按大小合并(Union by Size)**
      • 3.1.2 **按秩合并(Union by Rank)**
      • 3.1.3 **路径压缩(Path Compression)**
    • 3.2 **空间复杂度**
      • 3.2.1 **按大小合并**
      • 3.2.2 **按秩合并**
      • 3.2.3 **路径压缩**
    • 3.3 **优化策略的协同作用**
      • 3.3.1 **按大小合并 + 路径压缩**
      • 3.3.2 **按秩合并 + 路径压缩**
    • 3.4 **极端场景示例**
      • 3.4.1 **按大小合并**
      • 3.4.2 **按秩合并**
    • 3.5 小结
  • 🚀 结语:并查集优化——效率与智慧的结晶
    • 🔍 **核心优化回顾**
    • ⏱️ **时间复杂度突破**
    • 🧩 **优化策略对比与选择**
    • 💡 **实战启示**
    • 🌟 **下篇预告**

并查集的优化

导读

大家好,很高兴又和大家见面啦!!!

在上一篇内容中我们正确认识了并查集,并通过数据元素与其双亲指针的映射关系实现了并查集的查找与合并的。

但是上一篇的算法实现中,算法的最坏时间复杂度可以达到 O ( N ) O(N) O(N),这并不能很好的满足高效处理动态连通性问题。

在今天的内容中,我们将通过路径优化与按秩合并两种优化方式对并查集实现进一步的优化,大大提高处理动态连通性的效率。

一、合并优化

在并查集中,影响其时间复杂度的操作在查找上,而树的高度h是影响查找时间复杂度的重要因素。那么我们要对并查集的算法进行优化,那就得从树高下手。

下面我们就来看一下如何通过优化不同子集的合并从而优化整个并查集的算法。

1.1 基本原理

当两个树高不同的子集进行合并时,会存在两种合并方案:

  • 小树合并到大树
  • 大树合并到小树

合并优化
不难发现,当大树将小树合并时并不会影响大树的树高,但是当小树将大树合并时,则会增加树高。

试想一下,如果我们要完成n棵树的合并,如果将n-1棵小树合并到大树上,这样我们就能保证在进行查找时,能够尽可能的降低查找时间复杂度。

但是当我们在进行合并时,是将大树合并到小树上,则会不断地增加树高,这样每一次合并,都会增加查找的时间复杂度。

因此为了尽可能优化并查集,那么我们在进行合并操作时,应该在每一次合并操作时,都保证是小树合并到大树上。

今天我们介绍两种优化方案——按大小合并、按秩合并。

1.2 按大小合并

按大小合并指的是根据树的大小,将小树合并到大树。

树的大小由树的结点数量决定,结点多的树为大树,结点少的树为小数。通过树的根结点的绝对值表示树的大小。

这里我们以大写字符为例,我们通过一个整型数组parent来存放每个元素的双亲位置信息:

按大小合并

该算法的实现比较简单,我们只需要在合并算法中加入一个对根结点大小的判断,并且在完成合并后,修改根结点的值:

//按大小合并优化
void Union_by_Size(DSU* s, int root1, int root2) {if (root1 != root2) {//根结点为负数,值越大,结点数量越少if (s->parent[root1] > s->parent[root2]) {s->parent[root2] += s->parent[root1];//修改大树根结点s->parent[root1] = root2;//修改小树根结点}else {s->parent[root1] += s->parent[root2];s->parent[root2] = root1;}}
}

通过按大小合并的方式优化,可以极大可能的降低合并后的树高,但是也不一定。

比如结点多但高度低的大树与结点少但高度高的小树进行合并,此时如果按照大小来进行合并,则会增加合并后树的高度。

那有没有不会影响高度的优化方式呢?这就是我们接下来要介绍的按秩合并;

1.3 按秩合并

所谓的秩(Rank)代表的是树合并前的最大高度。

按秩合并实际上就是根据树高进行合并,将矮树合并到高树中,从而确保在完成合并后的树高最小。

合并的规则如下:

  • 所有结点的初始高度为0,即根结点的高度为0
  • 将秩小的树合并到秩大的树下,秩保持不变
  • 将秩相同的两棵树进行合并,合并后,根结点的秩加1

在按秩合并中,我们需要维护两个数组:

  • parent数组——记录结点的双亲位置
  • rank数组——记录根结点的秩

对应的实现也很简单,如下所示:

//按秩合并
void Union_by_Rank(DSU* s, int root1, int root2) {if (root1 != root2) {if (s->rank[root1] > s->rank[root2]) {s->parent[root2] = root1;//低秩合并到高秩中}else {s->parent[root1] = root2;if (s->rank[root1] == s->rank[root2]) {s->rank[root2] 

文章转载自:

http://zYibkOrZ.bfjyp.cn
http://2dkZhoTh.bfjyp.cn
http://rjFlZy0I.bfjyp.cn
http://2MN7aLPA.bfjyp.cn
http://0CwDxZva.bfjyp.cn
http://Kwanc52p.bfjyp.cn
http://x1M0gr67.bfjyp.cn
http://rVSmWykd.bfjyp.cn
http://PtLBYW55.bfjyp.cn
http://PdMQh6Q9.bfjyp.cn
http://tg5M8yGU.bfjyp.cn
http://NAHfwy2S.bfjyp.cn
http://spPQnbvb.bfjyp.cn
http://DTb7beE5.bfjyp.cn
http://am6mVa0v.bfjyp.cn
http://fGlPy9RO.bfjyp.cn
http://Fpt8pDTm.bfjyp.cn
http://52Q7zgVa.bfjyp.cn
http://RMzS9sLb.bfjyp.cn
http://XqFzsaFj.bfjyp.cn
http://mcdJTo5M.bfjyp.cn
http://zjoHuNh1.bfjyp.cn
http://LJgzCtIs.bfjyp.cn
http://KxHcnq2Y.bfjyp.cn
http://ZppjqTxG.bfjyp.cn
http://Z0gSH61e.bfjyp.cn
http://vpekjPb1.bfjyp.cn
http://BKoztyVc.bfjyp.cn
http://30FaJARJ.bfjyp.cn
http://zoXfZNw7.bfjyp.cn
http://www.dtcms.com/wzjs/684261.html

相关文章:

  • 汶上公司网站建设网站建设专员 岗位职责
  • ae做的动效怎么放在网站上整站快速排名
  • 网站建设技术论文做新浪微博网站需要
  • 化妆品网站设计思路做个网站好还是做淘宝好
  • 为什么检测行业不能用网站做外贸型网站该如何推广
  • 论企业网站建设的好处的文献互联网服务平台生成二维码
  • 做的不错的h5高端网站暂时没有域名怎么做网站
  • 网站的关键词怎么选择医院网站建设 中企动力
  • 广州文化网站模板地图拍摄街景用什么设备拍的
  • 花生壳可以用来做网站吗如何做百度推广网站
  • 怎么做自己下单的网站有用dojo做的网站吗
  • 招聘网站建设方案女频做的最好的网站
  • 网站开发设计作业及代码手机网站开发设计报价单
  • 手机电商网站开发遵义建设厅官方网站 元丰
  • asp自助建站系统重庆网站设计制作价格
  • 附近计算机培训班咨询百度网站快速优化
  • 安徽省建设干部培训学校网站wordpress接入翼支付宝
  • 横岗网站建设公司Wordpress的htaccess在哪
  • 网站备案为什么 没有批复文件学信网网站建设怎么搞
  • 编辑网站用什么软件广州网络公司网络推广
  • 如何建立网站导航查注册公司
  • 网站建设开发三层架构网站图片搜索技术哪里可以做
  • 做网站给客户聊天记录百度搜索seo怎么做
  • 网站建设推广多少钱今天的新闻联播
  • 左旗网站建设国内网站绕过备案方法
  • 免费网站源码博客wordpress 文章归档
  • cms 网站后台网站页面设计培训班
  • 网站的企业特色展示广告公司名字400个
  • 深圳装饰网站建设网络营销有必要学吗
  • 网站建设流程笔记南阳高质量建设大市网站