有效计算无向图中的出度

时间:2016-06-29 13:14:29

标签: python graph complexity-theory

我正在计算无向图的出度,其中节点表示为变量集,如果它们共享至少一个变量,则连接2个节点。

def computeOutDegree(self):
    self.nodeOutDegrees = [0] * len(self.nodes)
    for i in range(len(self.nodes)-1):
        setOfVariablesInI = set([elem[0] for elem in self.nodes[i] ])
        for j in range(i+1,len(self.nodes)):
            setOfVariablesInJ = set([elem[0] for elem in self.nodes[j] ])
            if setOfVariablesInI.intersection(setOfVariablesInJ):
                self.nodeOutDegrees[i] += 1
                self.nodeOutDegrees[j] += 1

不幸的是,O((N *(N-1))/ 2)效率不高。有没有更好的方法呢?

也许有多线程。但在哪里切块?另外,+ =不是原子的,对吧?

0 个答案:

没有答案