Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.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
Arrays 如何将图形节点之间的连接数组转换为具有连接的2D节点数组?_Arrays_C_Multidimensional Array_Graph - Fatal编程技术网

Arrays 如何将图形节点之间的连接数组转换为具有连接的2D节点数组?

Arrays 如何将图形节点之间的连接数组转换为具有连接的2D节点数组?,arrays,c,multidimensional-array,graph,Arrays,C,Multidimensional Array,Graph,让我们看一个由相邻节点表示的顶点给出的无向图: (1,2)、(1,3)、(3,2)、(4,1)、(2,5)、(4,5),如下所示: 顺序是完全随机的,每个连接只有一次,因此如果已经有(1,2),就不会有(2,1)。我有一个数组int顶点[12]={1,2,1,3,3,2,4,1,2,5,4,5}。我想创建一个数组,其中I-th索引表示一个节点号I,相应的子数组表示它的邻居,因此在这种情况下:int-graph[5][4]={{2,3,4},{1,3,5},{1,2},{1,5},{2,4}.我

让我们看一个由相邻节点表示的顶点给出的无向图:

(1,2)、(1,3)、(3,2)、(4,1)、(2,5)、(4,5)
,如下所示:


顺序是完全随机的,每个连接只有一次,因此如果已经有
(1,2)
,就不会有
(2,1)
。我有一个数组
int顶点[12]={1,2,1,3,3,2,4,1,2,5,4,5}
。我想创建一个数组,其中
I-th
索引表示一个节点号
I
,相应的子数组表示它的邻居,因此在这种情况下:
int-graph[5][4]={{2,3,4},{1,3,5},{1,2},{1,5},{2,4}.
我尝试先查看所有偶数节点,然后再查看奇数节点,但我一直遇到两个相同节点的问题。也许我可以在开始分配任务之前先点一下。最简单的方法是什么?

我试着先查看所有偶数节点,然后再查看奇数节点,这似乎很奇怪,因为顶点是按任意顺序给出的。在最坏的情况下,需要一个数组
[(N+1)/2][(N+1)/2]
(允许使用特殊值结束每个连接到一个顶点的顶点列表,或将这些节点的数量放置在索引0或
(N+1)/2-1
),然后按2步抛出顶点并更新两个
顶点的节点列表[i]
顶点[i+1]
,如果要对每个列表进行排序,“最简单的方法是什么?”很广泛,取决于各种因素。也许把你尝试过的东西贴出来,然后要求简化,并详细说明哪些方面是重要的简化。“最简单的方法是什么?”一个for循环,在每个循环中处理2个值
我试着先查看所有偶数节点,然后查看奇数节点
,这看起来很奇怪,因为顶点是按任意顺序给定的。在最坏的情况下,需要一个数组
[(N+1)/2][(N+1)/2]
(允许使用特殊值结束每个连接到一个顶点的顶点列表,或将这些节点的数量放置在索引0或
(N+1)/2-1
),然后按2步抛出顶点并更新两个
顶点的节点列表[i]
顶点[i+1]
,如果要对每个列表进行排序,“最简单的方法是什么?”很广泛,取决于各种因素。也许发布您尝试过的内容,然后要求简化,并详细说明哪些方面是重要的简化。“最简单的方法是什么?”一个for循环,在每个循环中处理2个值