150729听课总结
2015-07-29 11:42
225 查看
int per[1100]; int n; void init() //初始化节点 { for(int i=1;i<=n;i++) per[i]=i; } int find1(int x) //查找该节点的根,方法一 { int r=x; while(r!=per[r]) //当该节点的根与其节点编号不等时,说明该节点不是该序列的根 r=per[r]; //当该节点的根与其节点编号不等时,继续查找其父点的节点 // per[x]=r; //令所查找的节点指向根节点,该操作可在join函数中进行,此处可省 return r; //返回根节点 } int find2(int x) //查找方法二 { int r=x; while(r!=per[r]) r=per[r]; //先找到根节点 int j,i=x; while(i!=r) //把各节点均连到根节点上 { per[i]=r; //把当前节点指向根节点 j=per[i]; i=j; //把当前节点转化为其父节点 } return r; //返回根节点 } int find3(int x) //查找方法三 { if(x==per[x]) //如果当前节点为根节点,返回根节点 return x; else return per[x]=find3(per[x]);//否则查找当前父节点的根节点,并交给当前父节点,递归算法 } void join(int x,int y) //连接两节点 { int fx,fy; fx=find(x); fy=find(y); if(fx!=fy) per(fx)=fy; }
相关文章推荐
- windows下通过pid 找到运行程序的路径
- noip2010关押罪犯 两种方法 并查集和二分
- HDU 1232 畅通工程
- mac上设置robotium环境的总结
- robotium有源码
- leetcode oj3
- Python标准库之xml.etree.ElementTree
- 配置fio支持rbd测试引擎
- Bash的function中exit不退出程序
- 新型领导设计模式—设计可扩展性的业务架构
- Failed to push selection: Read-only file system的解决方法
- 静态Web开发 HTML
- (转)Android新的menu实现——ActionMode
- jsp/servlet中的编码问题
- android 休眠唤醒机制分析(一)----wake_lock (自用 学习记录)
- centos7 内存页面大小的设置
- LeetCode234_PalindromeLinkedList (判断是否为回文链表) Java题解
- Idea 创建spring mvc例子
- 关于多网络时钟的讨论
- 【腾讯深度学习系列】深度学习及并行化实现概述