用一个数组建树的过程,只需找到父节点就行了
初始化每个结点本身是根。
find_set 是查找树根。树根就是这个集合的代表。
路径压缩,由于find_set只是找父节点,所以在这个过程中可以把每个子节点的父都指向根。 变成N叉树。
按秩合并,每个节点都记录一个高度值(从x到其某一个后代节点的最长路径上边的数目)。秩低的根的父设成秩高的根。同时秩不变。若秩相等,任选一个做父,秩加1
用一个数组建树的过程,只需找到父节点就行了
初始化每个结点本身是根。
find_set 是查找树根。树根就是这个集合的代表。
路径压缩,由于find_set只是找父节点,所以在这个过程中可以把每个子节点的父都指向根。 变成N叉树。
按秩合并,每个节点都记录一个高度值(从x到其某一个后代节点的最长路径上边的数目)。秩低的根的父设成秩高的根。同时秩不变。若秩相等,任选一个做父,秩加1