并查集-连通性问题
2017-10-23 13:23
197 查看
连通性问题
比如随意给你两个点,让你判断它们是否连通?或者问你整幅图一共有几个连通分支,也就是被分成了几个互相独立的块。以下面这组数据输入数据来说明 4 2 1 3 4 3
第一行告诉你,一共有4个点,2条路。下面两行告诉你,1、3之间有条路,4、3之间有条路。那么整幅图就被分成了1-3-4和2两部分。只要再加一条路,把2和其他任意一个点连起来,就都连通了,那么这个这组数据的输出结果就是1(个相互独立的块)。
并查集
并查集由一个整数型的数组和两个函数构成。数组pre[]记录了每个点的前导点是什么,函数find是查找,join是合并。数组下标是当前点的号码,值是前导点的号码,如果值和下标一样代表自己是根。
查找是找根用的,直到找到值和下标一样的根位置
合并就是在两个根之间修改其中一个根的值为另一个根的下标或者值。
路径压缩算法:最理想的情况就是所有点的前导点都是相同的根,一共就是两级结构。做法就是在查找时找到根之后把自身的值修改成根的下标。
相关文章推荐
- 无向图的连通性问题(并查集)
- 算法分析学习笔记(一) - 动态连通性问题的并查集算法(上)
- 算法分析学习笔记(一) - 动态连通性问题的并查集算法(下)
- 并查集问题扩展 poj 1703
- 【板+并查集判断连通性】并查集判断连通性
- 【并查集】食物链问题
- 由LCA引发的问题--RMQ,Tarjan,并查集等
- 欧拉路/回路_并查集 NYOJ 42 一笔画问题
- nyoj 一笔画问题(并查集,欧拉路)
- hdu6081 度度熊的王国战略(并查集处理连通图问题)
- 并查集问题
- 并查集实现解决小米面试题朋友圈问题
- 在安装Windows 更新MS05-019,Windows2003 SP1或SP2后出现Domino邮件邮递性能下降与网络连通性问题
- Codevs 3372 选学霸(并查集+剩余空间最小的背包问题)
- 连通性问题
- 普通并查集之宗教问题(题目)
- 连通性问题
- PTA数据结构之排座位问题 (并查集)
- AtCoder Beginner Contest 087 D - People on a Line 并查集(区间和问题)
- POJ 1182 食物链 并查集 (关系问题)