• 大小: 2KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: C/C++
  • 标签: ER  模拟  

资源简介

采用链表,根据ER随机图模型建立随机图,并计算它的平均度以及平均聚集度

资源截图

代码片段和文件信息

#include 
#include 
#define MAXN 10000       //MAXN determine the node of the graph
#define MAXM 50000000  
#define P 10
long firstEdge[MAXN]now[MAXN]degree[MAXN]CC[MAXN];
long nextEdge[MAXM]endNode[MAXM];
long distribute[MAXN];
long edgeNumber nodeNumber;
float averDegreeaverCC;

int addEdge(long aNode long bNode)//creat a neighbor list in an descending order
{
long p;
p = random() % 100;
if (p > P) return 0;
nextEdge[++edgeNumber] = firstEdge[aNode];
firstEdge[aNode] = edgeNumber;
endNode[edgeNumber] = bNode;
nextEdge[++edgeNumber] = firstEdge[bNode];
firstEdge[bNode] = edgeNumber;
endNode[edgeNumber] = aNode;
return 1;
}

void calcDegree()
{
long i;
long curEdge;
for (i=0; i {
curEdge = firstEdge[i];
while (curEdge)
{
degree[i] ++;
curEdge = nextEdge[curEdge];
}
distribute[degree[i]] ++;
}
for (i=0; i averDegree += degree[i];
averDegree = (float)(averDegree / MAXN);
}

void calcCC()
{
long ijk;
long curEdgeIcurEdgeJ;
long tempNode;
int tri notri;
long nodeI nodeJ;
for (i=0; i {
curEdgeI = firstEdge[i];
while (curEdge

评论

共有 条评论