最小生成树和二分图
最小生成树:
1.Prim 算法(普利姆)
朴素版:稠密图
堆优化版:一般不用,稀疏图用Kruskal算法
2.Kruskal 算法(克鲁斯卡尔)稀疏图
二分图:
1.如何判别是否是二分图:染色法
2.求二分图的最大匹配:匈牙利算法
最小生成树
点击查看
朴素版Prim 算法O(n^2)
点击查看
①初始化所有点的距离
②for(i = 0; i < n; ++i){
//一个点到集合的距离是指:这个点到集合内部所有边中长度最短的那个
找到集合外距离最近的点->t;
用t更新其他点到集合的距离;
st[t] = true;把t加到集合中去
}
例题:
1 | 给定一个 n 个点 m 条边的无向图,图中可能存在重边和自环,边权可能为负数。 |
1 |
堆优化版Prim 算法O(mlogn)
点击查看
Kruskal 算法O(mlogm)
点击查看
二分图
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 adomais's blog!
评论





