博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
并查集分析+总结
阅读量:5052 次
发布时间:2019-06-12

本文共 1255 字,大约阅读时间需要 4 分钟。

对于并查集: 很多次都是迷迷糊糊,尤其是对并查集的优化:

1.路径压缩  2.按秩合并

对此个人整理了一下:

对于最基本的并查集建议看看: 

百度百科: 

以例题的形式分析,并用算法描述了

博客园:   对于有点基础的可以参考下,清晰明了

对于第二个优化按秩合并的部分处理有点异议:

if(rank[x] < rank[y])

              {
                  num[x]=y;
               
              }
              else if(rank[x]> rank[y])
              {
                  num[y]=x;
              }
              else rank[y]++;

看到很多博客上都是这么写的,就连维基百科上也是这么处理的!

个人感觉这样会大大使按秩合并的优化打折,这样处理应该比上面的哪个要严谨多了

           if(rank[x] <= rank[y])

              {
                  num[x]=y;
                  rank[y]+=rank[x];
              }
              else if(rank[x]> rank[y])
              {
                  num[y]=x;
                  rank[x]+=rank[y];
              }

而在sdutoj 2391测试  时间只是略快 

题目推荐:

poj 1611  The Suspects

模版题不解释 

 

View Code
#include
#include
#define N 30005 int num[N];int rank[N]; int match(int n) {
if(n!=num[n]) num[n]=match(num[n]); return num[n]; } int main() {
int n,m,k; while(scanf("%d%d",&n,&m),n+m) {
//memset(rank,1,sizeof(rank)); for(int i=0;i<=n;i++) {
num[i]=i; rank[i]=1; } while(m--) {
int a,b,x,y; scanf("%d%d",&k,&a); for(int i=1;i

sdut 2391  Dark roads

View Code
#include
#include
using namespace std; #define N 200005 int n,m,road; struct node {
int s,e,cost; }root[N]; int num[N]; int cmp(node a,node b) {
return a.cost

 以上纯属个人见解,望大家批评指正

转载于:https://www.cnblogs.com/skyming/archive/2012/03/02/2377700.html

你可能感兴趣的文章
内部类
查看>>
树链剖分入门
查看>>
图解算法时间复杂度
查看>>
UI_搭建MVC
查看>>
一个样例看清楚JQuery子元素选择器children()和find()的差别
查看>>
代码实现导航栏分割线
查看>>
Windows Phone开发(7):当好总舵主 转:http://blog.csdn.net/tcjiaan/article/details/7281421...
查看>>
VS 2010打开设计器出现错误
查看>>
SQLServer 镜像功能完全实现
查看>>
Vue-详解设置路由导航的两种方法
查看>>
一个mysql主从复制的配置案例
查看>>
大数据学习系列(8)-- WordCount+Block+Split+Shuffle+Map+Reduce技术详解
查看>>
dvwa网络渗透测试环境的搭建
查看>>
Win8 安装VS2012 和 Sql Server失败问题
查看>>
过点(2,4)作一直线在第一象限与两轴围成三角形,问三角形面积的最小值?...
查看>>
java aes CBC的填充方式发现
查看>>
使用ionic cordova build android --release --prod命令打包报有如下错误及解决方法
查看>>
BZOJ 2338 HNOI2011 数矩形 计算几何
查看>>
关于页面<!DOCTYPE>声明
查看>>
【AS3代码】播放FLV视频流的三步骤!
查看>>