Several changes in Kruskal alg.
- Input object interface was changed to an STL compatible one.
- template parameters of class KruskalPairVec has been simplified.
- (the most of) the names meet the naming conventions.
- a lot of (but still not enough) documentation has been added.
- class KruskalMapVec has been commented out.
8 typedef Graph<int,int> TestGraph;
10 int gcd(int a,int b) {int c; while((c=a%b)) {a=b;b=c;} ; return b;}
16 TestGraph::NodeIterator tn,n2;
18 cout << "Create nodes\n";
20 for(int i=1;i<=500;i++)
26 cout << "Create Edges\n";
28 for(TestGraph::NodeIterator n(G);n.isValid();++n)
29 for(TestGraph::NodeIterator m(G);m.isValid();++m) if(n!=m)
30 if(gcd(*n,*m)>1) G.AddEdge(n,m);
35 Bfs<default_bfs_T<TestGraph> > bfs;
41 for(TestGraph::NodeIterator n(G);n.isValid();++n)
43 cout << (Get(bfs.dist_map,n)) << '\n';
45 for(TestGraph::NodeIterator n(G);n.isValid();++n)
46 if(Get(bfs.dist_map,n))
47 cout << *(Get(bfs.tree_map,n).From()) << "->"
48 << *(Get(bfs.tree_map,n).To())