growing
发布时间:2016-05-24 21:50:09
1.Kruskal 每次找出权值最小的边,用并查集判断构成这两个边的顶点是不是有一个根(即构成回路),若不是则加入这条边,直到加入N-1条。bool Kruskal(GraphLink& minSpanTree) { // 1.把顶点、顶点数量放入.........【阅读全文】
发布时间:2016-05-24 22:10:17
void _Dijkstra(int src, W* dist, int* path, bool* vSet, int size, const W& maxValue) { // // 1.dist初始化src到其他顶点的的距离 .........【阅读全文】
发布时间:2016-05-22 14:48:32
实现代码:template<class V,class E> struct LinkEdge{ LinkEdge(int srcIndex = - 1,int dstIndex = -1,const E&weight = E()) :_srcIndex(srcIndex) &nb.........【阅读全文】
发布时间:2016-05-17 09:40:27
开一个二维数组来存边的信息#pragma once template<class V,class E>class GraphMatrix{public: GraphMatrix(size_t size,V * array) :_vArray(new V[size]).........【阅读全文】
发布时间:2016-05-13 13:26:07
小米的校招题:朋友圈(25分) 假如已知有n个人和m对好友关系(存于数字r)。如果两个人是直接或间接的好友(好友的好友的好友...),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈。 假如:n = 5 , m = 3 , r = {{1 , 2} , {2 , 3} , {4 , 5}},表示有5个人,1和2是好友,2和3是好友,.........【阅读全文】