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 阅读(344) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿(5)

随笔档案(46)

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜