1.认识并查集
功能:
①非常快的 检查两个元素是否属于同一个集合
②两个元素各自所在的集合,请把他们合并在一起
基本2个操作:查两个元素是否属于同一个集合。合并。
如果集合的结构是list,代价蛮高的。
如果集合实现成为hashset,还是有遍历代价。
并查集让整体的代价尽量变低。
每个元素自成集合。
任何一个集合,想查询在哪个集合?
就是不断往上找,发现找的头部是指向自己的,停。
这个头部就叫做元素所在集合的代表点。上图中①所在的集合,代表点是②。看大小,小的挂在大的底下。小集合的头部挂在大集合头部的底下。
以代表点代表元素所在的集合。
如果A与B的代表点相同,则说明A与B属于一个集