摘要: 这篇我们看看第二种生成树的Kruskal算法,这个算法的魅力在于我们可以打一下算法和数据结构的组合拳,很有意思的。一:思想 若存在M={0,1,2,3,4,5}这样6个节点,我们知道Prim算法构建生成树是从”顶点”这个角度来思考的,然后采用“贪心思想”来一步步扩大化,最后形成整体最优解,而Kruskal算法有点意思,它是站在”边“这个角度在思考的,首先我有两个集合。1. 顶点集合(vertexs): 比如M集合中的每个元素都可以认为是一个独根树(是不是想到了并查集?)。2.边集合(edges): 对图中的每条边按照权值大小进行排序。(是不是想到了优先队列?)好了,下面该如何操作呢?... 阅读全文
posted @ 2012-12-17 00:28 一线码农 阅读(6318) 评论(6) 推荐(3) 编辑