R 将网络分解为具有相等顶点数的组件
我需要将一个简单的图分解为具有相同固定顶点数的组件。 对于每个组件,应连接所有顶点 例如,对于上面的网络,如果我们将该网络分解为n=3(每个组件中的顶点数)的组件,那么结果应该是125;123;124;234如果我们把这个网络分解成n=4的分量,那么结果应该是1253;1254;12345234 最简单的解决方案是列出所有可能的组合(C(n,m),m是网络中的顶点数,n是每个组件中的顶点数),然后测试每个组合的连接性。然而,当网络是稀疏的时,它不是有效的R 将网络分解为具有相等顶点数的组件,r,algorithm,graph,network-programming,graph-algorithm,R,Algorithm,Graph,Network Programming,Graph Algorithm,我需要将一个简单的图分解为具有相同固定顶点数的组件。 对于每个组件,应连接所有顶点 例如,对于上面的网络,如果我们将该网络分解为n=3(每个组件中的顶点数)的组件,那么结果应该是125;123;124;234如果我们把这个网络分解成n=4的分量,那么结果应该是1253;1254;12345234 最简单的解决方案是列出所有可能的组合(C(n,m),m是网络中的顶点数,n是每个组件中的顶点数),然后测试每个组合的连接性。然而,当网络是稀疏的时,它不是有效的 你知道吗?我的主要语言是R,但其他语言
你知道吗?我的主要语言是R,但其他语言也不错。给定连接节点子集的所有n元组的集合
Sn
,通过迭代所有s={a1,a2,…an}来构造连接节点子集的所有n+1元组的集合,然后迭代所有ai以找到不在s中的连接节点ax。构建s'={a1,a2,…an,ax}并添加到Sn+1
(作为一个集合操作,它消除了双副本)
125例;123;124;234;235,我们将获得
从125:1235;1245
从123:1234,(1235)
从124:(1234),(1245)
从234:(1234),2345
从235:(1235),(2345)
我不知道R,但Java的集合操作(给定一组合理的元素)足以使该算法在稀疏矩阵中具有竞争力
差点忘了:S1是微不足道的;-) 我试过BFS。你的算法肯定更有效。