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   博问   Chat2DB   管理


导航

<2007年12月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

统计

常用链接

留言簿(5)

随笔档案(46)

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜