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

网站注册凡科html简单网页代码课程表

网站注册凡科,html简单网页代码课程表,30分钟seo网站,网店代运营公司哪家好目录 并查集 size 的优化 Java 实例代码 UnionFind3.java 文件代码#xff1a; 并查集 size 的优化 按照上一小节的思路#xff0c;我们把如下图所示的并查集#xff0c;进行 union(4,9) 操作。 合并操作后的结构为#xff1a; 可以发现#xff0c;这个结构的树的层相对…目录 并查集 size 的优化 Java 实例代码 UnionFind3.java 文件代码 并查集 size 的优化 按照上一小节的思路我们把如下图所示的并查集进行 union(4,9) 操作。 合并操作后的结构为 可以发现这个结构的树的层相对较高若此时元素数量增多这样产生的消耗就会相对较大。解决这个问题其实很简单在进行具体指向操作的时候先进行判断把元素少的集合根节点指向元素多的根节点能更高概率的生成一个层数比较低的树。 构造并查集的时候需要多一个参数sz 数组sz[i] 表示以 i 为根的集合中元素个数。 // 构造函数 public UnionFind3(int count){     parent new int[count];     sz new int[count];     this.count count;     // 初始化, 每一个parent[i]指向自己, 表示每一个元素自己自成一个集合     for( int i 0 ; i count ; i ){         parent[i] i;         sz[i] 1;     } } 在进行合并操作时候根据两个元素所在树的元素个数不同判断合并方向。 public void unionElements(int p, int q){     int pRoot find(p);     int qRoot find(q);     if( pRoot qRoot )         return;     if( sz[pRoot] sz[qRoot] ){         parent[pRoot] qRoot;         sz[qRoot] sz[pRoot];     }     else{         parent[qRoot] pRoot;         sz[pRoot] sz[qRoot];     } } 优化后合并结果如下9 指向父节点 8。 Java 实例代码 源码包下载Download UnionFind3.java 文件代码 package runoob.union; /**  * 并查集size的优化  */ public class UnionFind3 {     // parent[i]表示第一个元素所指向的父节点     private int[] parent;     // sz[i]表示以i为根的集合中元素个数     private int[] sz;     // 数据个数     private int count;     // 构造函数     public UnionFind3(int count){         parent new int[count];         sz new int[count];         this.count count;         // 初始化, 每一个parent[i]指向自己, 表示每一个元素自己自成一个集合         for( int i 0 ; i count ; i ){             parent[i] i;             sz[i] 1;         }     }     // 查找过程, 查找元素p所对应的集合编号     // O(h)复杂度, h为树的高度     private int find(int p){         assert( p 0 p count );         // 不断去查询自己的父亲节点, 直到到达根节点         // 根节点的特点: parent[p] p         while( p ! parent[p] )             p parent[p];         return p;     }     // 查看元素p和元素q是否所属一个集合     // O(h)复杂度, h为树的高度     public boolean isConnected( int p , int q ){         return find(p) find(q);     }     // 合并元素p和元素q所属的集合     // O(h)复杂度, h为树的高度     public void unionElements(int p, int q){         int pRoot find(p);         int qRoot find(q);         if( pRoot qRoot )             return;         // 根据两个元素所在树的元素个数不同判断合并方向         // 将元素个数少的集合合并到元素个数多的集合上         if( sz[pRoot] sz[qRoot] ){             parent[pRoot] qRoot;             sz[qRoot] sz[pRoot];         }         else{             parent[qRoot] pRoot;             sz[pRoot] sz[qRoot];         }     } }
http://www.hkea.cn/news/14503684/

相关文章:

  • 张家界酷网科技网站建设做地方网站
  • 凡科网站怎么修改中国新设计师联盟
  • 怎么做织梦网站在线磁力搜索神器
  • 网站建设关键词排名优化芜湖网站建设推广公司
  • 山东饰品行业网站开发凡科建设的网站如何
  • wordpress网站备份还原天津市建设厅建筑业信息网
  • 中文网站欣赏做网站鼠标移动 链接变颜色
  • 北京 房地产 网站建设汕头seo课程培训
  • 沈阳模板 网站建设网站红色搭配
  • 网站怎样才能在百度被搜索到江津网站建设效果好不好
  • 赣州做公司网站太原优化网站
  • 网站收录最好的方法如何进行品牌营销
  • 五莲网站制作要怎样建立自己的网站
  • 建设好学校网站软件定制与开发
  • 网站实名制认证备案国外直播sdk
  • 重庆市住房和城乡建设厅官方网站网站建设背景朝阳
  • 如何做网站充值接口深圳市年检在哪个网站做
  • 怎么做网站架构图什么网站做的产品海报比较多
  • 曲阳路街道网站建设北京seo诊断
  • 天台建设局网站朋友做的网站图片不显示
  • 聊城手机网站建设服务asp网站开发实训总结
  • 招远网站建设多少钱网页代码模板源码
  • 开源php网站开发网页设计制作个人简历代码
  • 企业网站建站价格wordpress 摄影博客
  • 用asp.net做简易网站苏州建网站必去苏州聚尚网络
  • 母婴用品商城网站建设手机app界面设计分析
  • 网站开发公司基本业务流程图广州微网站建设咨询
  • sns社交网站建设上海网络推广公司
  • 做网站可以申请专利吗开发官网
  • 热门课程自己做网站在国内做跨境电商怎么上外国网站