首先,我们需要先了解一下并查集的概念,很简单,下面是百度百科的定义,大家先看一下:并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。OK,话不多说,直接看代码:
根据上面的定义我们可以知道并查集是用来处理集合的,其在计算机世界中被广泛的用于处理网络连接的问题(PS:这里所说的网络连接问题并不是仅仅是计算机网络)。其至少支持两种操作---合并(Join)以及查询(Find)操作。一个集合中存在一个或者多个元素,为了描述多个元素属于同一个集合,我们一般规定,集合中的每一个元素都含有一个指针用于指向其父节点,依此类推,那么一个集合中必定含有一个根节点,该节点的指针指向自身,也就是说如果一个节点的指针指向自身,那么该节点就是该集合的根节点。
根据上面的描述,我们可以使用数组来描述并查集这种数据结构,我们可以让每一个key=>value键值对来描述集合中的每一个元素,其中key表示该元素所代表的元素,value表示该元素所指向的父节点的key。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |