Fork me on GitHub
摘要: 用Kruskal算法计算最小生成树时,将结点分成不同的集合,一开始所有的结点都在不同的集合将所有的边排序后(按照权值进行从小到大排序) 然后看每边的两个结点是否属于不同集合,如果不是,则可以将这条表加到最小生成树中,并把这两个结点放到同一个集合中,然后如此类推,直到最小生成树中有了n-1条边测试用例:上面说的那个集合,我用两个map来实现,好久没敲C++的代码,写的不好请见谅Edge.h#ifndef GUARD_Edge_h#define GUARD_Edge_h#include <string> using std::string;class Edge{public: Edge 阅读全文
posted @ 2012-02-25 01:29 _Lei 阅读(6808) 评论(0) 推荐(0)