摘要: kruskal算法其实也是和prim算法一样求无向图的最小生成树,也属于贪心算法,不过prim算法的复杂度为O(n^2),适用于稠密图,而kruskal算法的复杂度为O(eloge),适用于稀疏图。kruskal算法描述很容易理解,如下1.设连通网N=(V,{E}),令最小生成树初始状态为只有n个顶点而无边的非连通图T=(V,{F}),每个顶点自成一个连通分量2.在E中选取代价最小的边,加入到T中,若它的添加使T 中产生回路,则舍去此边,选取下一条代价最小的边3.依此类推,直至T中有 n-1 条边为止但是如何在判定边的添加是否成回路上不失效率?推荐使用不相交集合数据结构--即并查集。在并查集中 阅读全文
posted @ 2012-10-19 20:23 MFT 阅读(318) 评论(0) 推荐(0) 编辑