鉴于网上有许多关于并查集的好博客,但内容过于繁多且有的介绍不多,对初学者过于生涩,于是这篇文章就出生了。
并查集有什么用,其实没什么用,纯粹做题需要。
并查集就是一种树形的数据结构,通俗易懂解释就是比如:现在有五个数,1 2 3 4 5,然后我经过三次操作,让1和2变成一组,1和3变成一组,2和4一组,那么最后总共有多少个组呢?(刚开始每个数自己分别为一组)。
是,简单思考下 有2组 1、2、3、4一组,5单独一组。。
但是如果数据很大且操作次数很多, 例如现在又1e6个数,经过m次操作(m<=1e6)后,最后总共有多少组。显然,在这种数据的限制下,暴力是不可能了,所以就需要用到并查集了。
并查集,就是一片森林,而每一组就是一棵树,合并两组,就是把一个树接到另一棵树上。
https://blog.csdn.net/liujian20150808/article/details/50857320
这是一篇关于并查集比较详细的文章 已经写的很全面了。。毕竟菜鸡的我都是通过这篇学的。