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

商业网站建设者鄱阳县建设局网站

商业网站建设者,鄱阳县建设局网站,南昌网站建设公务,iis7 asp网站 503并查集里的 find 函数里可以进行路径压缩#xff0c;是为了更快速的查找一个点的根节点。对于一个集合树来说#xff0c;它的根节点下面可以依附着许多的节点#xff0c;因此#xff0c;我们可以尝试在 find 的过程中#xff0c;从底向上#xff0c;如果此时访问的节点不…并查集里的 find 函数里可以进行路径压缩是为了更快速的查找一个点的根节点。对于一个集合树来说它的根节点下面可以依附着许多的节点因此我们可以尝试在 find 的过程中从底向上如果此时访问的节点不是根节点的话那么我们可以把这个节点尽量的往上挪一挪减少数的层数这个过程就叫做路径压缩。 如下图中find(4) 的过程就可以路径压缩让数的层数更少。 节点 4 往上寻找根节点时压缩第一步树的层数就减少了一层 节点 2 向上寻找也不是根节点那么把元素 2 指向原来父节点的父节点操后后树的层数相应减少了一层同时返回根节点 0。 find 过程代码修改为 // 查找过程, 查找元素p所对应的集合编号 // O(h)复杂度, h为树的高度 private int find(int p){assert( p 0 p count );// path compression 1while( p ! parent[p] ){parent[p] parent[parent[p]];p parent[p];}return p;} 上述路径压缩并不是最优的方式我们可以把最初的树压缩成下图所示层数是最少的。 这个 find 过程代表表示为: ... // 查找过程, 查找元素p所对应的集合编号 // O(h)复杂度, h为树的高度 private int find(int p) {assert (p 0 p count);//第二种路径压缩算法if (p ! parent[p])parent[p] find(parent[p]);return parent[p]; } ... Java 实例代码 UnionFind3.java 文件代码 package runoob.union;/*** 基于rank的优化*/ public class UnionFind4 {private int[] rank; // rank[i]表示以i为根的集合所表示的树的层数private int[] parent; // parent[i]表示第i个元素所指向的父节点private int count; // 数据个数// 构造函数public UnionFind4(int count){rank new int[count];parent new int[count];this.count count;// 初始化, 每一个parent[i]指向自己, 表示每一个元素自己自成一个集合for( int i 0 ; i count ; i ){parent[i] i;rank[i] 1;}}// 查找过程, 查找元素p所对应的集合编号// O(h)复杂度, h为树的高度private int find(int p){assert( p 0 p count );// 不断去查询自己的父亲节点, 直到到达根节点// 根节点的特点: parent[p] pwhile( p ! parent[p] )p parent[p];return p;//第二种路径压缩算法//if( p ! parent[p] )//parent[p] find( parent[p] );//return parent[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( rank[pRoot] rank[qRoot] ){parent[pRoot] qRoot;}else if( rank[qRoot] rank[pRoot]){parent[qRoot] pRoot;}else{ // rank[pRoot] rank[qRoot]parent[pRoot] qRoot;rank[qRoot] 1; // 维护rank的值}} }
http://www.tj-hxxt.cn/news/223425.html

相关文章:

  • 国外手机设计网站推荐wordpress使用方法
  • 服装 多语言 网站源码洛阳建站推广公司
  • xyz域名做网站好么北京到安阳大巴车几个小时
  • 宽屏大气通用企业网站源码asp模板源码程序生成静态html传奇霸业网页版
  • 济南 网站设计公司网站前台显示数据库指定分类怎么做php
  • 郑州高端网站定制建设qq是哪款软件开发的
  • 网站修改数据做网站什么好
  • 手机网站怎么解析郑州企业招聘
  • 广告网站模板免费下载网址大全2345仙踪林
  • 网站设计0基础wordpress 中文包
  • 设计公司网站设计详情乐清网站定制公司哪家好
  • 沧浪seo网站优化软件朝阳做网站
  • 华强北网站建设公司凡科建站代理入口
  • 网站建设需求表格公司网站建设安全的风险
  • 重庆专业的网站建设公司用ps做网站页面的大小
  • 小型网站的建设与开发手机泉州网
  • 钟山县住房和城乡建设局网站杭州谷歌推广
  • 北京建设信息咨询中心网站如何免费制作app
  • 关于旅游网站建设的方案自问自答网站怎么做
  • 蕴川路上海网站建设企业展厅设计公司口碑好的原因
  • 网上做医生哪个网站好学做ppt的网站 免费下载
  • 济南网站搜索引擎优化网站ip地址范围
  • 龙岗建网站wordpress必做
  • 怎么做家具网站安卓应用软件开发
  • 域名注册完成后怎么做网站南宁营销型网站建设公司
  • 网页设计软件dw全称网站设计seo
  • 做网站含备案费么百度seo关键词外包
  • 怎么做网站的百度收录做网站除了域名还要买什么
  • 谷歌英文网站优化营销推广模式有哪些
  • 网站策划案4500求推荐个网站