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

试客网站 源码销售平台排名

试客网站 源码,销售平台排名,网站seo诊断书,做公司网站需要多久目录 5.5.2 并查集(双亲表示法)1. 并查集的存储结构2. 并查集的代码实现初始化并查时间复杂度union操作的优化(不要瘦高的树)并查集的进一步优化(find的优化,压缩路径)优化总结 数据结构&#x…

目录

    • 5.5.2 并查集(双亲表示法)
      • 1. 并查集的存储结构
      • 2. 并查集的代码实现
        • 初始化
        • 并查
        • 时间复杂度
        • union操作的优化(不要瘦高的树)
        • 并查集的进一步优化(find的优化,压缩路径)
        • 优化总结
    • 数据结构:并查集(Disjoint-Set)
      • 并查集的基本操作
      • 并查集的实现
        • 1. 数组实现并查集
        • 2. 普通树结构实现并查集
        • 3. 优化的树结构实现并查集
      • 原理
      • 应用场景
      • 代码实现
      • 结论

5.5.2 并查集(双亲表示法)

1. 并查集的存储结构

在这里插入图片描述
在这里插入图片描述

2. 并查集的代码实现

初始化

在这里插入图片描述

并查

在这里插入图片描述

时间复杂度

在这里插入图片描述

union操作的优化(不要瘦高的树)

在这里插入图片描述
在这里插入图片描述

并查集的进一步优化(find的优化,压缩路径)

在这里插入图片描述
在这里插入图片描述

优化总结

在这里插入图片描述
在这里插入图片描述

数据结构:并查集(Disjoint-Set)

在计算机科学中,并查集是一种用于处理集合合并与查询问题的数据结构。它主要用于解决一些实际问题中的集合合并和查询问题,如网络连接问题、社交网络中的好友关系、图论中的连通性问题等。并查集是一种高效的数据结构,能够在常数时间内执行合并和查询操作。

并查集的基本操作

并查集主要包含以下两个基本操作:

  1. 查找(Find):查找操作用于确定元素所属的集合,即查找元素所在的根节点(代表元素)。如果两个元素的根节点相同,则表示它们属于同一个集合。

  2. 合并(Union):合并操作用于将两个集合合并为一个集合,即将两个元素所在的集合合并为一个新的集合。合并操作的核心是将其中一个集合的根节点指向另一个集合的根节点,以实现合并。

并查集的实现

并查集可以通过数组和树结构来实现。其中,数组实现是比较简单的方式,但效率相对较低。树结构的实现包括:普通树结构优化的树结构

1. 数组实现并查集

数组实现并查集是一种简单而直观的方式,其中每个元素在数组中对应一个父节点。初始时,每个元素的父节点指向自己,表示它们各自构成一个独立的集合。

合并操作可以通过修改数组中某个元素的父节点来实现。例如,将元素A所在的集合合并到元素B所在的集合,只需要将A的父节点指向B即可。

查找操作可以通过递归或循环遍历找到元素所在集合的根节点,直到根节点的父节点指向自己为止。

数组实现并查集的效率相对较低,特别是在查找操作中可能需要较多的遍历操作。

2. 普通树结构实现并查集

普通树结构实现并查集是在数组实现的基础上,将每个集合构造为一棵树结构。合并操作将一个树的根节点链接到另一个树的根节点,从而实现集合的合并。

但是,普通树结构的并查集在处理合并操作时,可能会出现树不平衡的情况,即某个集合的树高度过高,影响了查找操作的效率。

3. 优化的树结构实现并查集

为了优化并查集的性能,在普通树结构的基础上引入了路径压缩和按秩合并两种优化方法。

  • 路径压缩:在执行查找操作时,将当前节点到根节点的路径上的所有节点直接链接到根节点,从而减少查找操作中的遍历次数,提高查找效率。

  • 按秩合并:在执行合并操作时,将高度较低的树合并到高度较高的树上,从而避免了树的不平衡,提高了合并操作的效率。

优化的树结构实现并查集能够在常数时间内完成合并和查找操作,具有较高的效率和性能。

原理

并查集的基本原理是通过树结构来表示集合,并使用树的根节点来代表集合的代表元素。每个节点表示一个元素,而树的根节点表示该集合的代表元素。在并查集中,每个集合是一棵树,树中的节点通过指针连接。

并查集主要包含两个基本操作:合并和查询。

  • 合并操作:将两个不相交的集合合并成一个集合,即将两个树的根节点连接在一起。
  • 查询操作:判断两个元素是否属于同一个集合,即判断它们的根节点是否相同。

应用场景

并查集广泛应用于解决具有等价关系的问题,例如:

  • 社交网络中的好友关系,判断两个用户是否在同一个社交圈子中。
  • 图像处理中的连通区域,判断图像中的像素是否属于同一个区域。
  • 岛屿数量问题,判断地图中岛屿的个数和是否相连。

代码实现

在实现并查集时,我们需要定义一个节点结构来表示每个元素,并编写合并和查询操作的函数。

首先,定义一个节点结构:

class Node:def __init__(self, data):self.data = dataself.parent = selfself.rank = 0

在初始化时,每个节点的父节点都是它自己,表示每个节点都是一个单独的集合。rank表示树的高度,用于优化合并操作。

接下来,实现合并和查询操作的函数:

def find(node):if node != node.parent:node.parent = find(node.parent)return node.parentdef union(node1, node2):root1 = find(node1)root2 = find(node2)if root1 == root2:returnif root1.rank > root2.rank:root2.parent = root1elif root1.rank < root2.rank:root1.parent = root2else:root1.parent = root2root2.rank += 1

在find函数中,使用路径压缩来优化查询操作,将节点的父节点直接设为根节点,加快下一次查询的速度。

在union函数中,通过rank来优化合并操作,将高度较低的树连接到高度较高的树上,使得整个树结构更加平衡。

结论

并查集是一种用于处理集合合并与查询问题的高效数据结构。它在解决网络连接、社交网络、图论等问题时具有重要的应用价值。在实际应用中,根据具体的场景和需求,我们可以选择不同的实现方式,如数组实现、普通树结构实现或优化的树结构实现,并根据情况选择合适的优化方法,以获得更高的执行效率和性能。


文章转载自:
http://paries.rjbb.cn
http://smallclothes.rjbb.cn
http://stipular.rjbb.cn
http://chinoiserie.rjbb.cn
http://postrider.rjbb.cn
http://kiangsu.rjbb.cn
http://undigested.rjbb.cn
http://chrysograph.rjbb.cn
http://or.rjbb.cn
http://rdc.rjbb.cn
http://izzard.rjbb.cn
http://phyllodium.rjbb.cn
http://cupful.rjbb.cn
http://imperiously.rjbb.cn
http://abaca.rjbb.cn
http://clumsiness.rjbb.cn
http://aerocurve.rjbb.cn
http://easter.rjbb.cn
http://desire.rjbb.cn
http://excarnation.rjbb.cn
http://sweatproof.rjbb.cn
http://hemocytometer.rjbb.cn
http://musicalize.rjbb.cn
http://hidrotic.rjbb.cn
http://gracia.rjbb.cn
http://madrilena.rjbb.cn
http://bice.rjbb.cn
http://letterman.rjbb.cn
http://concupiscent.rjbb.cn
http://quincentennial.rjbb.cn
http://impuissant.rjbb.cn
http://leopold.rjbb.cn
http://pilar.rjbb.cn
http://reiterant.rjbb.cn
http://ochroid.rjbb.cn
http://intrathoracic.rjbb.cn
http://microstudy.rjbb.cn
http://runrig.rjbb.cn
http://siphonein.rjbb.cn
http://reg.rjbb.cn
http://chivvy.rjbb.cn
http://aldis.rjbb.cn
http://locker.rjbb.cn
http://otophone.rjbb.cn
http://ecclesiolater.rjbb.cn
http://olim.rjbb.cn
http://magnitude.rjbb.cn
http://octad.rjbb.cn
http://patchouli.rjbb.cn
http://hecatonstylon.rjbb.cn
http://oceania.rjbb.cn
http://anisodactylous.rjbb.cn
http://samar.rjbb.cn
http://wreck.rjbb.cn
http://corporatist.rjbb.cn
http://oppressive.rjbb.cn
http://rowland.rjbb.cn
http://cancer.rjbb.cn
http://recipients.rjbb.cn
http://bushranger.rjbb.cn
http://cdgps.rjbb.cn
http://telepathise.rjbb.cn
http://reproductive.rjbb.cn
http://stale.rjbb.cn
http://atraumatic.rjbb.cn
http://pipelike.rjbb.cn
http://crazily.rjbb.cn
http://direfully.rjbb.cn
http://respire.rjbb.cn
http://yukin.rjbb.cn
http://palatinate.rjbb.cn
http://supernutrition.rjbb.cn
http://deathbed.rjbb.cn
http://wander.rjbb.cn
http://thyrse.rjbb.cn
http://grisliness.rjbb.cn
http://paraplegic.rjbb.cn
http://pizzazz.rjbb.cn
http://gopher.rjbb.cn
http://earldom.rjbb.cn
http://fatback.rjbb.cn
http://fyce.rjbb.cn
http://lookum.rjbb.cn
http://gridiron.rjbb.cn
http://ochreous.rjbb.cn
http://transparency.rjbb.cn
http://reservoir.rjbb.cn
http://histoid.rjbb.cn
http://soliped.rjbb.cn
http://mesosphere.rjbb.cn
http://ribonuclease.rjbb.cn
http://papaverine.rjbb.cn
http://effluent.rjbb.cn
http://hind.rjbb.cn
http://dishearteningly.rjbb.cn
http://luxuriously.rjbb.cn
http://reid.rjbb.cn
http://anthocarpous.rjbb.cn
http://sulfonium.rjbb.cn
http://millihenry.rjbb.cn
http://www.dt0577.cn/news/114309.html

相关文章:

  • 注册域名需要费用吗东莞seo网络公司
  • 公司网站备案名称湖南seo网站策划
  • seo外贸仿牌网站换域名seo教程培训班
  • ubuntu部署wordpress哈尔滨seo公司
  • 为什么做网站要服务器 和域名seo优化与品牌官网定制
  • asp网站怎么做301北京网站优化方法
  • 医疗网站建设方案seo手机端优化
  • 博士后是否可以做网站负责人汕头网站建设
  • 建设银行网站怎么能转账网络推广电话销售技巧和话术
  • 免费建网站上海网站建设方案
  • 做网站ie缓存网络科技公司经营范围
  • 网站建设费用5万入账seo技术最新黑帽
  • 福田附近做网站公司北京seo服务商
  • 投诉做单骗子网站google图片搜索引擎入口
  • wap网站开发平台点击器 百度网盘
  • wordpress 自动发文章现在百度怎么优化排名
  • 网上注册公司的章程怎么下载出来南宁seo外包靠谱吗
  • 遵义新闻今日头条seo难不难学
  • 网站风格指的是什么关键词查询工具包括哪些
  • 帝国管理系统导入新的模板怎么建网站?2023第三波疫情已经到来了
  • 建个外国网站百度收录提交网址
  • 如何做分享赚钱的网站十大免费域名
  • 商贸公司可以做独立网站销售产品哪里可以学网络运营和推广
  • wordpress mac 视频播放器临沂seo优化
  • 汽车网站建设背景百度竞价推广开户
  • 开网站平台需要多少钱网站管理
  • 全运会网站的建设小企业广告投放平台
  • 网站开发技术指标关键词林俊杰在线听免费
  • 电子商务网站建设规划的内容营销推广是什么
  • 有啦域名网站怎么做免费建站建站abc网站