算例一(畅通工程)
-
题目描述
-
解题思路
①判断两个数字是否在同一个集合中:我们可用判断他们是否在一棵树中,即把每个节点用双亲法保存,然后求两个节点的根,若两个根相同则说明两个数在同一个集合中
②合并两个集合:让分别代表两个集合的树合并
③并查集中主要的一个问题就是,如何查找一个结点所在树的根,采取的方法是,不断查找结点的双亲结点知道找到的双亲结点不存在的结点为止,该结点就是根结点
④为了避免②中每次合并树造成的树的深度越来越大的问题,可以在每次查找每个特定结点的根结点的时候,把其与根节点之间的所有结点都直接指向根节点,以次来压缩路径,减少树高,减小时间消耗
⑤关于本题:每两个有道路的城市构