我有一个无向图 A,它具有:任何两个节点之间没有多重链接,没有自连接节点,可以有一些孤立的节点(度数为 0 的节点)。
我需要遍历图 A 中节点对的所有可能组合,为不存在的链接分配某种分数(假设我的图有 k 个节点和 n 个链接,那么组合的数量应该是(k* (k-1)/2 - n) 个组合)。我分配分数的方式是基于两个组合节点之间的公共邻居节点。
例如:AD之间的分数应该是1,GD之间的分数应该是0 ...
最大的问题是我的图有超过 100.000 个节点,处理几乎 10^10 个组合太慢了,这是我第一次尝试接近解决方案。
我的第二个想法是,由于该算法是基于节点的公共邻居,我可能只需要查看邻居,以便我可以分配不同于 0 的分数。其余的可以确定为 0,无需计算。但这可能会重复组合。
任何接近此解决方案的想法都值得赞赏。请记住,实际网络有超过 100.000 个节点。