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

seo网站优化方案案例云南网络营销推广

seo网站优化方案案例,云南网络营销推广,星子网,沧州网站建设费用并查集是一种 树型数据结构,主要用来处理 集合的合并与查询 问题。 它的核心功能有两个: Find(查询):查询某个元素属于哪个集合(找到集合的代表/根)。 Union(合并)&#…

并查集是一种 树型数据结构,主要用来处理 集合的合并与查询 问题。
它的核心功能有两个:
Find(查询):查询某个元素属于哪个集合(找到集合的代表/根)。
Union(合并):将两个集合合并成一个集合。
每个集合用一棵树表示,树根是集合的代表。
每个元素存一个 父亲指针(parent[i]),指向它的父节点。
如果 parent[i] == i,说明它是根节点。
解决简单并查集问题的步骤:
1.声明数据集合,并初始化

int f[1005];
for(int i=1;i<=n;i++)
{f[i]=i;
}

2.查找是否在同一个集合(通过查是否是同一个根来判断)

int a;
int b;
int la=find(a);
int lb=find(b);
int find(int x)
{if(x==f[x]){return x;}else{f[x]=find(f[x]);return f[x];}}

3.判断是否在同一个集合中,如果没有添加进去,添加的方法就是将其中一个的根的根设置成另外一个

if(la==lb)
{说明在同一个集合中
}
else
{f[la]=lb;
}

查找的时候可以进行路径压缩

为啥会有路径压缩呢,因为在查找一个数据的根是谁的过程中,会遇到其他根与之相同的数据,它们的根是相同的,我们没有必要重复查询,在查询一个的过程中,把其他数据的根也改为总的根

int find(int x) {if (f[x] != x)f[x] = find(f[x]);  // 递归时顺便把父亲指针直接指向根return f[x];
}

使用场景:
判断两个元素是否属于同一个集合(连通性问题)。
网络连通、朋友圈、最小生成树(Kruskal 算法)。
图论里常见的连通分量问题。
传统的并查集一般不会出题,
一种是其他算法和并查集结合
并查集 + 其他算法结合
这是最常见的考点。常见搭配有:
Kruskal 最小生成树
用并查集判断加入一条边后是否会产生环。
网络连通/岛屿数量
DFS/BFS 可以做,但也可以用并查集维护连通块数。
动态连通性问题
比如给你一堆操作(合并、查询是否在同一集合),并查集比 DFS/BFS 高效。
另一种是出种类并查集,一般是两个种类
维护一些对立关系,比如敌人的敌人是朋友时,正常的并查集就很难满足我们的需求这时种类并查集(扩展域并查集)就诞生了。
三个种类一般遇不到。

http://www.dtcms.com/a/594590.html

相关文章:

  • 网站备案 途径河南省网站建设哪家好
  • 网站开发说明书局域网站建设模版
  • 织梦建设网站需要什么软件重庆域名注册官网
  • ssh远程连接idea
  • 1110随记
  • 《5G核心网规划与应用》第一章:5G部署及标准发展
  • 个人网站模板 html5“哈尔滨企业服务平台”公众号
  • 移动官网网站建设屏幕分辨率 网站开发
  • “人机交互”中语音识别浅析
  • PPT图标大小怎么调才协调?与文字的比例是多少 ?
  • PPT 素材版权风险解析与合规素材获取指南
  • 什么平台做网站wordpress+爱情模板
  • 做视频网站需要什么职位工作做网站后期续费是怎么算的
  • XSLT `<value-of>` 元素详解
  • 网站收录查询方法淘宝美工做兼职的网站
  • 如何电话推销客户做网站网站制作致谢词
  • 嘉兴网站的优化wordpress ajax加载
  • 东莞网站竞价推广运营网站建设的需要分析
  • #HarmonyOS篇:管理组件拥有的状态状态管理V2
  • Boost库中boost::assign的使用
  • Swift-static和class
  • 个人网站设计规划书塘沽网站制作
  • 寻找富阳网站建设短视频矩阵营销
  • (已完结)仿神秘海域/美末环境交互的程序化动画学习
  • 网站后台怎么上传文章百度网站排名优化软件
  • 【菜狗学编程】opencv、numpy简单基础——20251011
  • 网站开发一个模板费用优惠券网站要怎么做的
  • 做cra需要关注的网站国际物流网站建设
  • Linux 文件
  • MCU 内存栈介绍和内存段