给定一个有几百万条边的有向图,我试图为每个节点找到:
邻居的邻居列表(我们称他们为
two_nei
)。每个
two_nei
(称为cn
)的公共邻居的数量。
我处理这个问题的方法是:
创建一个
dict
以每个节点为键,一个list
包含所有邻居作为值(neighbor_dictionary
)。创建一个
dict
以每个节点为键,一个list
包含所有邻居的邻居(two_nei
对于这个节点)作为值(second_dictionary
)。现在我想为图中的每个节点创建一个
list
(因为不知道该做什么) 。dict
这些字典中的每一个都将包含每个two_nei
节点作为键,值将是它们拥有的公共邻居的数量。
如您所见,这很容易变得复杂。我相信在 python 中有一种更简单、更优雅的方法来做到这一点。我是一个数学专业的人,我没有上过数据结构和算法方面的课程,但我相信我们可以使用队列来解决这个问题。
任何帮助将不胜感激。