-
大小: 3KB文件類型: .py金幣: 1下載: 0 次發(fā)布日期: 2021-06-15
- 語言: Python
- 標(biāo)簽: python??社交網(wǎng)絡(luò)??冪律分布??
資源簡介
這是一個用于進(jìn)行大規(guī)模社交網(wǎng)絡(luò)圖繪制冪律分布曲線的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)...][()][()]....]??每個分區(qū)對應(yīng)的邊集合
????#?Partitions?=?[[]?for?i?in?range(numOfParts)]
????#?#?{?part:set(v1v2...)?...?}??????????????????存儲每個分區(qū)對應(yīng)的點
????#?vertexDic?=?{}
????#?存儲總邊數(shù)
????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
評論
共有 條評論