资源简介

这是一个用于进行大规模社交网络图绘制幂律分布曲线的python代码

资源截图

代码片段和文件信息

#!/usr/bin/python
# -*- coding: utf-8 -*-

import random
import math
import time
import matplotlib.pyplot as plt
import matplotlib
import numpy as np

def Show(edgelist numOfParts):
    f = open(edgelist “r“)
    # # [[(src dst) (src dst)...][()][()]....]  每个分区对应的边集合
    # Partitions = [[] for i in range(numOfParts)]
    # # { part:set(v1v2...) ... }                  存储每个分区对应的点
    # vertexDic = {}
    # 存储总边数
    edgeNum = 0

    # 存储每个点的出入度
    verInDeg = {}
    verOutDeg = {}
    verDeg = {}
    
    for line in f:
        srcTar = line.strip().split()
        src = long(srcTar[0])
        tar = long(srcTar[1])
        
        edgeNum = edgeNum + 1
        if edgeNum % 1000000 == 0:
            print edgeNum

        # # 分边策略
        # part = random.randint(0 (int)(numOfParts - 1))
        
        # Partitions[part].append((src tar))
        
        # if vertexDic.has_key(part):
        #     vertexDic[part].add(src)
        #     vertexDic[part].add(tar)
        # else:
        #     vertexSet = set()  # 定义的是集合
        #     vertexSet.add(src)
        #     vertexSet.add(tar)
        #     vertexDic[part] = vertexSet

        if verInDeg.has_key(tar):
            verInDeg[tar] = verInDeg[tar] + 1
        else:
            verInDeg[tar] = 1
        if verO

评论

共有 条评论