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

app下载网站建设国际油价最新消息

app下载网站建设,国际油价最新消息,crm系统登录,上海招聘信息最新招聘并查集是什么东西#xff1f; 它是用来管理元素分组情况的一种数据结构。 他可以高效进行两个操作#xff1a; 查询a#xff0c;b是否在同一组合并a和b所在的组 萌新可能不知所云#xff0c;这个结构到底有什么用#xff1f; 经分析#xff0c;并查集效率之高超乎想象…并查集是什么东西 它是用来管理元素分组情况的一种数据结构。 他可以高效进行两个操作 查询ab是否在同一组合并a和b所在的组 萌新可能不知所云这个结构到底有什么用 经分析并查集效率之高超乎想象对n个元素的并查集进行一次操作的复杂度低于O(logn) 我们先说并查集是如何实现的 也是使用树形结构但不是二叉树。 每个元素就是一个结点每组都是一个树。 无需关注它的形状或哪个节点具体在哪个位置。 初始化 我们现在有n个结点也就是n个元素。 合并 然后我们就可以合并了合并方法就是把一个根放到另一颗树的下面也就是整棵树作为人家的一个子树。 查询 查询两个结点是否是同一组需要知道这两个结点是不是在一棵树上让他们分别沿着树向根找如果两个元素最后走到一个根他们就在一组。 当然树形结构都存在退化的缺点对于每种结构我们都有自己的优化方法下面我们说明如何避免退化。 记录每一棵树的高度合并操作时高度小的变为高度大的子树即可。路径压缩对于一个节点只要走到了根节点就不必再在很深的地方直接改为连着根即可。进一步优化其实每一个经过的节点都可以直接连根。 这样查询的时候就能很快地知道根是谁了。 下面上代码实现 和很多树结构一样我们没必要真的模拟出来数组中即可。 int p[MAX_N];//父亲 int rank[MAX_N];//高度 //初始化 void gg(int n) {for(int i0;in;i){p[i]i;//父是自己代表是根rank[i]0;} } //查询根 int find(int x) {if(p[x]x)return x;return p[x]find(p[x])//不断把经过的结点连在根 } //判断是否属于同一组 bool judge(int x,int y) {return find(x)find(y);//查询结果一样就在一组 } //合并 void unite(int x,int y) {if(xy)return;if(rank[x]rank[y])p[x]y;//深度小放在大的下面else{p[y]x;if(rank[x]rank[y])rank[x];//一样y放x后x深度加一} } 实现很简单应用有难度以后有时间更新题。
http://www.pierceye.com/news/917864/

相关文章:

  • 邯郸移动网站建设公司wordpress页脚太高
  • 大型电子商务网站开发上海 网站建设 外包it
  • 设计得很好的企业网站wordpress 标签云
  • 杂志网站模板苏州设计网页网站好
  • 设计理论网站清远市发布
  • 长沙本土网站制作公司wordpress thegem
  • 网站后台 源码重庆电力公司网站
  • 泰安企业网站建设电话廉江手机网站建设公司
  • 自已建网站微信登录珠海绿网科技有限公司
  • 大良网站制作太原建筑公司网站
  • 网站开发的交付文档抖音代运营费用明细
  • 自适应网站建设沈阳网站安全建设需求
  • 列表主题wordpress国外seo综合查询
  • 装修网站怎么做推广做百度网站每年的费用多少
  • 网站搭建免费视频教程省企联网站建设要求
  • 天津大学生专业做网站建设网站价格
  • 携程网站建设进度及实施过程文具电子商务网站开发内容
  • 怎么查看网站打开速度网站源码整站下载
  • 北京城乡住房建设部网站常见的网络营销推广方式有哪些
  • 做网站的成本费用钱宝网站怎么做任务
  • 网站上的格式用html怎么做部队网站设计
  • 帮客户做网站内容社交网站有哪些如何做
  • 网站开发与设计实训总结两千字公众号制作的网站开发
  • 一个公司做2个产品网站怎么做的用html5做的网站素材
  • 内乡网站建设咸阳网站建设报价
  • 企业网站多少钱扶余手机网站开发
  • 做外汇网站卖判刑多少年如何找回网站后台密码
  • 怎么做优惠券网站asp.net mvc 5网站开发之美
  • 网站底部浮动电话广告福建住房和城乡建设部网站
  • 建站之星破解版wordpress 置顶排序