我有一个CSV,其中每一行是两个节点之间的连接,即“100,200”行表示连接ID为100和200的节点。我试图找到文件中具有最大公共连接数的两个节点。例如,如果连接A和B,则连接B和C,但A和C未连接,则B是A和C的公共连接。
到目前为止,我的方法是创建连接字典,其中键是节点的ID,值是包含所有连接ID的集合。然后,我遍历这个,并计算每对成员的连接的交集,试图找到最大交叉点大小。这可行,但在Python中需要大约1小时才能获得跨40个内核并行化的10M连接/ 200k节点的数据集。
有没有更好的方法来避免明显的组合爆炸?