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
Javascript 多边无向图的圈计数_Javascript_Algorithm_Math_Graph_Cycle - Fatal编程技术网

Javascript 多边无向图的圈计数

Javascript 多边无向图的圈计数,javascript,algorithm,math,graph,cycle,Javascript,Algorithm,Math,Graph,Cycle,我正试图编写一个程序,使用电网格分析。我有电路的节点[A,B,C,D]和连接节点[0,1,2,3,4,5,6,7,8]的分支 如何在一个有多条边的无向图中找到最短圈,如下面的示例所示 图形图像(4个节点,9条边/分支): 周期: 0-1-0 5-6-5 6-8-6 1-4-2-1 2-7-3-2 4-7-5-4 我需要的周期数为: Cycles=branchs-(Nodes-1),在这种情况下,我需要6个周期 我将这些数据存储在如下数组中: realNodes = [A,B,C,D]; g

我正试图编写一个程序,使用电网格分析。我有电路的节点[A,B,C,D]和连接节点[0,1,2,3,4,5,6,7,8]的分支

如何在一个有多条边的无向图中找到最短圈,如下面的示例所示

图形图像(4个节点,9条边/分支):

周期:

0-1-0
5-6-5
6-8-6
1-4-2-1
2-7-3-2
4-7-5-4
我需要的周期数为: Cycles=branchs-(Nodes-1),在这种情况下,我需要6个周期

我将这些数据存储在如下数组中:

realNodes = [A,B,C,D];

groupBranches = [[0,1,4,5,6,8], [3,5,6,7,8], [0,1,2,3], [2,4,7]];

// groupArray[0] stores the branch numbers connected to A;
// groupArray[1] stores the branch numbers connected to B;
// groupArray[2] stores the branch numbers connected to C;
// groupArray[3] stores the branch numbers connected to D;

笔记: 我不需要所有可能的循环,我只需要在某个循环中使用每一条边(分支)

此外,最终循环可能与示例中给出的不同


我很乐意看到任何语言的算法。

您可以使用任何您喜欢的算法生成生成树(BFS有效)


然后,对于每一条不在树中的边,你做一个循环,包含该边加上从树的一端到另一端的路径。

你可以使用任何你喜欢的算法做一个生成树(BFS工作)

然后,对于不在树中的每条边,创建一个循环,包含该边以及从树的一端到另一端的路径