在C编程中,我们如何初始化这个int*goo,其中goo是一个图的边列表?

在C编程中,我们如何初始化这个int*goo,其中goo是一个图的边列表?,c,list,graph,C,List,Graph,在C编程中,我们如何初始化这个int*goo,其中goo是一个图的边列表?一维整数数组通常不能用于直观地存储一个图,即没有某种映射代码 在矩阵/数组中,至少有两种常用的数学表示图形的方法。假设N编号的顶点和M边: 一个nxn。这是一个二维数组,其中每个顶点都有自己的线 一个M尺寸的。这本质上归结为一个边列表,可以实现为一个mx2数组,其中每个边都有自己的行 这两种表示都是直观的二维kxl数组。通过使用额外代码将数据放置在(K*L)x 1一维数组a,可以使用一维数组。例如,要获取原始K x L

在C编程中,我们如何初始化这个
int*goo
,其中goo是一个图的边列表?

一维整数数组通常不能用于直观地存储一个图,即没有某种映射代码

在矩阵/数组中,至少有两种常用的数学表示图形的方法。假设
N
编号的顶点和
M
边:

  • 一个
    nxn
    。这是一个二维数组,其中每个顶点都有自己的线

  • 一个
    M尺寸的
    。这本质上归结为一个边列表,可以实现为一个
    mx2
    数组,其中每个边都有自己的行

这两种表示都是直观的二维
kxl
数组。通过使用额外代码将数据放置在
(K*L)x 1
一维数组
a
,可以使用一维数组。例如,要获取原始
K x L
数组的
(i,j)
元素:

e = A[i * L + j];
然后,您可以简单地动态分配阵列:

int *A = (int *)malloc(K * L * sizeof(int));

(在任何人抱怨显式CAST之前,它是C++中需要的,这是我的充分理由)

<代码> int *Goo< /COD>是整数指针数组的指针。您打算如何将图的边存储在这样的东西中?