K2算法伪代码如下:主要思想是贪婪思想,这样也可以保证每次插入的边不构成环。
from factor import fact
import math
import random
File = open('C:\\Users\\lenovo\Desktop\\网络科学导论cpp代码\\时序网络数据集\\email-Eu-core-temporal-Dept3.txt', 'r')
lineList = File.readlines()
print(len(lineList))
#该数据文件共有12216条记录
lasttime = -1
num = 0
NodeSet = set()
for line in lineList:
#首先要对line进行split处理
curlineList = line.split(' ')
#print(curlineList)
#print(type(curlineList))
ProNode = int(curlineList[0])
PostNode = int(curlineList[1])
if ProNode < 20:
ProNode += 1
if PostNode < 20:
PostNode += 1
NodeSet.add(ProNode)
NodeSet.add(PostNode)
curtime = int(curlineList[2][:len(curlineList[2]) - 1])
if (lasttime == curtime):
continue
lasttime = curtime
num += 1
File.close()
print(lasttime)
#print('时间戳共有:' + str(num) + '条')
#时间戳共有8911条
#现在考虑将89*89个变量一维化
NodeList = list(NodeSet)
print(len(NodeList))
NodeList.sort()
print(NodeList)
N = NodeList[len(NodeList