Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将网络分解为具有相等顶点数的组件_R_Algorithm_Graph_Network Programming_Graph Algorithm - Fatal编程技术网

R 将网络分解为具有相等顶点数的组件

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,但其他语言

我需要将一个简单的图分解为具有相同固定顶点数的组件。 对于每个组件,应连接所有顶点

例如,对于上面的网络,如果我们将该网络分解为n=3(每个组件中的顶点数)的组件,那么结果应该是125;123;124;234如果我们把这个网络分解成n=4的分量,那么结果应该是1253;1254;12345234

最简单的解决方案是列出所有可能的组合(C(n,m),m是网络中的顶点数,n是每个组件中的顶点数),然后测试每个组合的连接性。然而,当网络是稀疏的时,它不是有效的


你知道吗?我的主要语言是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。你的算法肯定更有效。