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