【发布时间】:2015-11-25 23:07:51
【问题描述】:
我有一个邻接矩阵,我似乎找不到一种快速的方法来组合多个节点来知道“超级节点”的最终数量是多少。我认为一个简单的解决方案是从本质上计算邻接矩阵的上三角部分的总和,然后减去节点的总数减去之前的总和就可以得到答案,但它看起来有点棘手。
假设:
我有 6 个节点,从 1 到 6: 节点 1、2、3 相互连接。 节点 4 和 6 相互连接, 节点 5 没有连接任何东西。
在这一点上,在 6 个初始节点中,我将只剩下 3 个超级节点,这似乎微不足道。现在使用我之前的方法的问题是假设第一个超级节点是这样连接的: 1到2 2到3, 但不是直接1到3。 (即使它们合并)。
这里 sum(upptriangle(Adj))=3 有效,但对于第一种情况,我添加了一个“虚拟节点”(连接 1-3)输出:sum(upptriangle(Adj))=4,并且这种类型连接数不应影响最终结果。
是否有我缺少的标准算法来解决这个问题(并补偿非完全连接的子图的过度完成?),而不是迭代地检查每个节点以查看它是否已合并?
换句话说,是否存在我只能从邻接矩阵中获得的节点合并的快速计算?
【问题讨论】:
标签: algorithm matrix adjacency-matrix