wordpress自适应建站,php图书管理系统,wordpress 模版 摄影,照片分享网站开发费用在社交网络中#xff0c;个人或单位#xff08;结点#xff09;之间通过某些关系#xff08;边#xff09;联系起来。他们受到这些关系的影响#xff0c;这种影响可以理解为网络中相互连接的结点之间蔓延的一种相互作用#xff0c;可以增强也可以减弱。而结点根据其所处… 在社交网络中个人或单位结点之间通过某些关系边联系起来。他们受到这些关系的影响这种影响可以理解为网络中相互连接的结点之间蔓延的一种相互作用可以增强也可以减弱。而结点根据其所处的位置不同其在网络中体现的重要性也不尽相同。 “紧密度中心性”是用来衡量一个结点到达其它结点的“快慢”的指标即一个有较高中心性的结点比有较低中心性的结点能够更快地平均意义下到达网络中的其它结点因而在该网络的传播过程中有更重要的价值。在有N个结点的网络中结点vi的“紧密度中心性”Cc(vi)数学上定义为vi到其余所有结点vj (j≠i) 的最短距离d(vi,vj)的平均值的倒数 对于非连通图所有结点的紧密度中心性都是0。 给定一个无权的无向图以及其中的一组结点计算这组结点中每个结点的紧密度中心性。 输入格式: 输入第一行给出两个正整数N和M其中N≤104是图中结点个数顺便假设结点从1到N编号M≤105是边的条数。随后的M行中每行给出一条边的信息即该边连接的两个结点编号中间用空格分隔。最后一行给出需要计算紧密度中心性的这组结点的个数K≤100以及K个结点编号用空格分隔。 输出格式: 按照Cc(i)x.xx的格式输出K个给定结点的紧密度中心性每个输出占一行结果保留到小数点后2位。 输入样例: 9 14
1 2
1 3
1 4
2 3
3 4
4 5
4 6
5 6
5 7
5 8
6 7
6 8
7 8
7 9
3 3 4 9输出样例: Cc(3)0.47
Cc(4)0.62
Cc(9)0.35解析这个题如果掌握迪杰斯特拉算法并不难希望同学们好好看课本我还是变参考课本边做的有个难点就是你如果想偷懒静态分配一个a【n】【n】的数组那么肯定会数组太大直接崩掉所以动态分配就好了希望仅供参考不要直接复制到作业代码 #includeiostream
#includecstring
#includestring
#includebits/stdc.h
#includecstdio
#includecmath
#define maxn 10001
using namespace std;
int n,m;
int d[maxn],visit[maxn];
int Dijkstra(int *a[],int v){for(int i1;in;i){visit[i]0;d[i]a[v][i];}visit[v]1;d[v]0;int sum0;int x;for(int k1;kn;k){int minmaxn;for(int w1;wn;w)if(!visit[w]d[w]min){xw;mind[w];}visit[x]1;for(int w1;wn;w){if(!visit[w]d[x]a[x][w]d[w]){d[w]d[x]a[x][w];}}}for(int i1;in;i){if(d[i]maxn)return -1;sumd[i];//coutd[i]endl;}return sum;
}int main(){
int x,y;
scanf(%d%d,n,m);
int **a(int**)malloc(sizeof(int*)*(n1));for(int i1; in; i) {a[i](int*)malloc(sizeof(int)*(n1));}for(int i1;in;i){d[i]maxn;for(int j1;jn;j){a[i][j]maxn;}
}//输入
for(int i1;im;i){cinxy;a[x][y]a[y][x]1;
}
int k;
cink;int v;
for(int i0;ik;i){cinv;int su Dijkstra(a,v);if(su-1) printf(Cc(%d)%.2lf\n,v,0.00);elseprintf(Cc(%d)%.2lf\n,v,(n-1)*1.0/su*1.0);
}return 0;} 转载于:https://www.cnblogs.com/xuyibao/p/8035913.html