摘要: Kruskal算法 算法描述: 把所有边从小到大排序,能加就加,用并查集维护联通性,如果一个边两边的点已经在同一个连通块里了就不要这条边了 时间复杂度O(mlogm) code: #include<iostream> #include<cstdio> #include<algorithm> #def 阅读全文
posted @ 2021-02-07 22:47 DReamLion 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 概念: 初始状态所有点自成一个集合 包括两个基本操作: 1.把两个集合合并成一个大集合 2.查询点x和y是否属于同一个集合 优化: 按秩合并: 维护树的深度size,把深度小树的当儿子,将其根节点作为深度较大的树的树根的子节点合并 时间复杂度O(logn) 路径压缩: 找到x的根节点后,把路径上所有 阅读全文
posted @ 2021-02-07 14:16 DReamLion 阅读(33) 评论(0) 推荐(0) 编辑