POJ 2524第一个并查集

并查集的入门题目 阿 为什么又是一道水题。。。。

void make_set(int x)
{
    p[x]=x;
    rank[x]=0;
}

int find_set(int x)
{
    if(x==p[x]) return x;
    else p[x]=find_set(p[x]);
}


void union_set(int x,int y)
{
    x=find_set(x);
    y=find_set(y);
    if(rank[x]>rank[y]) p[y]=x;
    else
      {
          p[x]=y;
          if(rank[x]==rank[y]) rank[y]++;
      }   
}


posted on 2008-08-18 19:41 Victordu 阅读(369) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航:   博客园   博客园最新博文   博问   管理


导航

<2012年10月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

统计

常用链接

留言簿(5)

随笔档案(46)

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜