fuliangliang的Blog

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。

用户操作
[即时聊天] [发私信] [加为好友]
fuliangID:fuliangliang
65402次访问,排名1601好友1人,关注者3
fuliangliang的文章
原创 100 篇
翻译 0 篇
转载 25 篇
评论 29 篇
fuliang的公告

我的联系方式:20542606

Email:fuliangliang@gmail.com


最近评论
topgunqq:条理清楚,简单易学.比网上其他例子要好一些.至少按照楼主写的过程,我这个初学者实验成功了!
marshluca:恭喜~~
请问有没rails 做的项目,比方blog?
marshluca@gmail.com
marshluca:恭喜~~
请问有没rails 做的项目,比方blog?
marshluca@gmail.com
chucai:写的非常的好,仔细的拜读了。思路很清晰。考虑的问题也比较全面。
tbsc3:我也遇到了这个问题,如果配1 M就有用,大于2M就还是默认的 不知道你有没有解决呀,教教我
文章分类
收藏
    相册
    净月潭一日游
    页面图片
    日历
    文章收藏
    我的JavaEye博客
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 常用类之四---并查集(Union-Find Sets)收藏

    新一篇: Java游戏开发案例-方块游戏 | 旧一篇: 最小(大)堆应用---堆排序

    const int DefaultSize = 20;

    class UFSets{
    public:
     UFSets(int s = DefaultSize);
     ~UFSets();
     void Union(int root1,int root2);
     void WeightUnion(int root1,int root2);//基于加权规则的合并操作
                                           //使合并树保持较小的深度
                                           //减小Find的时间
     int Find(int x);//查找x元素的集合,并返回集合的名
     int  CollapsingFind(int x);//查找的过程中基于折叠规则进行路径压缩
    private:
     int *parent;
     int size;
    };
    UFSets::UFSets(int s){
     size = s;
     parents = new int[size+1];
     for(int i= 0; i<= size; i++)
      parent[i] = -1;
    }

    int UFSets::Find(int x){
     if(parent[x] < 0)
      return x;
     else
      return Find(parent[x]);
    }

    void UFSets::Union(int root1,int root2){
     parent[root2] = root1;
    }

    void UFSets::WeightUnion(int root1,int root2){
     int weight = parent[root1] + parent[root2];
     if(parent[root1] < parent[root2]){
       parent[root1] = root2;
       parent[root2] = temp;
     }
     else{
       parent[root2] = root1;
       parent[root1] = temp;
     }
    }

    int UFSets::CollapsingFind(int x){
       int temp;
       for(int j = x; parent[j] >= 0; j = parent[j]);//查找x的根
       while(x != j){//把x所在的一支的节点依次连到根节点,使得树的深度
         temp = parent[x];//保持很小
      parent[x] = j;
      x = temp;
       }
    }

    发表于 @ 2006年05月30日 11:10:00|评论(loading...)|编辑

    新一篇: Java游戏开发案例-方块游戏 | 旧一篇: 最小(大)堆应用---堆排序

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © fuliang