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

厦门网站建设建网站济南做网站的哪家好

厦门网站建设建网站,济南做网站的哪家好,e福州,网站开发团队 分工一、并查集的概念 并查集是一种树型的数据结构#xff0c;用于处理一些不相交集合#xff08;disjoint sets#xff09;的合并及查询问题。常常在使用中以森林来表示。 最裸并查集#xff1a; 合并元素a和元素b 所在的集合。查询元素a和元素b 是否属于同一组。是否在一个…一、并查集的概念 并查集是一种树型的数据结构用于处理一些不相交集合disjoint sets的合并及查询问题。常常在使用中以森林来表示。 最裸并查集 合并元素a和元素b 所在的集合。查询元素a和元素b 是否属于同一组。是否在一个集合当中 近乎 O(1) 时间内支持两个操作 分组和对应的例子 二、并查集的结构 并查集是树形结构。不过不是二叉树。 每个元素对应一个节点每个组对应一颗树。 在并查集中哪个节点是哪个节点的父亲以及树的形状等信息不用关注整体是树形结构才最重要 1. 初始化 每个元素初始化时分别是每一个集合的根节点 p[x] x 2. 合并 和下面图一样从一个组的根向另一个组的跟连边将两棵树变成 一颗树也就是两个组变成一个组 3. 查询 为了查询两个节点是否同一组只要沿着树向上走查询根节点是否相同根节点相同时同一组否则不同组。如上图中 25的根是 1而7的根是6 所以2和5是同一组但是2和7不是同一组。 并查集实现的注意点 在树形数据结构中如果发生退化情况二叉树退化为一维链表那么时间复杂度会变的很高。在并查集中只需按照如下方法就可以避免退化。 对于每棵树记录树的高度rank合并时如果两棵树的rank不同那么rank小的向rank大的连边。 此外通过路径压缩可以使并查集更高效率。对于每个节点一旦向上走到了一次根节点就把这个点到父亲的边改成为直接连向根。 如需要查询7就可以直接将7连接到根上。 在此之上不仅查询的节点所有在查询过程中经过的所有节点都可以直接连接到根上。再次查询时就可以很快查询到根是谁了。 如下将2345都连接到1中。 在使用这种化简方法时为了简单起见即使树的高度发生变换也不再修改rank。 查并集的复杂度 加入两个优化后查并集的效率非常高。对n个元素的查并集进行一次操作的复杂度为O(a(n))。在这里a(n)时阿克曼(Ackermann)函数的反函数。这要比O(log(n))还要快。 不过这是“均摊复杂度”。并不是每次都满足多次后平均每次复杂度。 并查集的实现 Acwing 836 合并集合 #include iostream using namespace std;const int N 100010;int n, m; int p[N];int find(int x) // 返回x的祖宗节点 路径压缩 {if(p[x] ! x) p[x] find(p[x]);return p[x]; }int main() {scanf(%d%d, n, m);for(int i 1; i n; i ) p[i] i;while(m --){char op[2];int a, b;scanf(%s%d%d, op, a, b);if(op[0] M) p[find(a)] find(b);else{if(find(a) find(b)) puts(Yes);else puts(No);}}return 0; }
http://www.dnsts.com.cn/news/63446.html

相关文章:

  • 做网站 报价51CTO学院个人网站开发视频
  • wordpress减肥网站采集规则百度站长工具app
  • 低价代网站如何进行课程中心网站建设
  • 建设公司网站开发方案线上线下一体化营销
  • 如何将网站上传到万网主机wd设计视图可以做网站吗
  • 湛江外包做网站官方网站开发需要几个技术人员
  • 中国建设银行官网站住房公积金网站备案要什么资料
  • 苏州手机网站建设服务基于拍卖的拍卖网站开发
  • 建网站的详细案例阳江兼职招聘网最新招聘
  • 怎么在后台设计网站wordpress it企业模板
  • 时尚网站设计案例建筑门户网站
  • 企业网站租服务器如何制作自己的网站链接教程
  • 网站开发建设流程图私人影吧服务器
  • 建设银行 钓鱼网站农产品网站建设方案
  • 焦作做网站公司佛山网约车驾驶员资格证网上报名
  • 内蒙古包头网站建设动漫网页设计作业
  • wordpress 小说多站最新网站建设的模板下载
  • 网站备案太久了免费网站教程
  • 成都网站建设费用网站建设进度计划
  • 网站制作公司中企动力推荐网站管理登录
  • 网站排名不可有利就前用户体验设计的概念
  • 网站如何做二级域名建设英文商城网站
  • 精品网站模板怎么在网站底部做备案号
  • 内部网站建设拓扑物流的网站模板
  • php二次网站开发步骤深圳市最新消息
  • 网站怎么做电脑系统下载建设工程施工合同诉讼时效
  • 有人拉我做彩票网站禁止粘贴的网站
  • 现在网站开发用什么语言可信赖的南昌网站建设
  • 网站域名要钱吗电子书网站开发
  • 打开上次浏览的网站网络公司有几家