C语言:数据结构-图的存储结构-边集数组

时间:2019-07-10 来源: 旅游
宝盈娱乐bbin注册

是使用一维数组存储图中所有边的图的表示。数组中元素的数量大于或等于图中边数。每个元素用于存储边的起点和终点(对于无向图,所选边的任何端点是起点或终点)和权重(如果有的话),数组中边的顺序可以任意安排,或根据具体要求。边集集阵列仅存储有关图中所有边的信息。如果需要存储顶点信息,还需要一个包含n个元素的一维数组。对应于图7-1中的G2和图7-5中的G5的边集的阵列分别如图7-7(a)和(b)所示。

dc1c0a3942934586a5f569991399446e

G2和G5的边集数组

边集集数组中的元素类型和边集集数组类型定义如下:

Struct edgeElem {/*定义边集集数组的元素类型*/

Int fromvex;/*边缘的起点*/

Int endvex; */

的* * edge字段

重量;/*边缘的权重字段,对于无右图*/

,可以省略该字段

};

/*将edgeset定义为边数组类型*/

Typedef struct edgeElem edgeset [MaxEdgeNum];

通过键盘输入Void Create3(vexlist GV,edgeset GE,int n,int e)/*

n个顶点信息和e段边缘的信息建立顶点阵列GV和边集集阵列GE */

{

Int i,k,j,w;

/*创建顶点数组*/

Printf('输入%d顶点数据\ n',n);

对于(i=0; i

/*输入图形的每个边缘以创建边集的数组*/

形权重\ n',e);

对于(k=0; k

/*输入边缘两端的数字i和j以及边缘的重量w */

Scanf('%d%d%d',& i,& j,& w);

/*设置数组*/

中相应元素的值

GE [k]的.fromvex=I;

GE [k]的.endvex=j的;

GE [K]。重量=W;

}

}

在边集的数组中查找边或顶点需要扫描整个数组,因此其时间复杂度为O(e)。边集数组适用于顺序处理边的操作,不适用于顶点和任何边。由边集集阵列表示的空间复杂度是O(e)。就空间复杂性而言,边缘阵列也适用于表示稀疏图。

邻接矩阵,邻接列表和图的边集集阵列表示优点和缺点。在具体应用中,应根据图的密度和稀疏度以及算法的需要进行合理选择。

频道热点
新闻排行
  1. 暑假即将到来,父母必须进入“我没有看到对方,我想你,我每天都在讨厌skr的人”。是否有必要给孩子一个补?

    暑假即将到来,父母必须进入“我没有看到对方,我想你,我每天都在讨厌skr的人”。是否有必要给孩子一个补?...

  2. 暑假即将到来,父母必须进入“我没有看到对方,我想你,我每天都在讨厌skr的人”。是否有必要给孩子一个补?

    暑假即将到来,父母必须进入“我没有看到对方,我想你,我每天都在讨厌skr的人”。是否有必要给孩子一个补?...

  3. 暑假即将到来,父母必须进入“我没有看到对方,我想你,我每天都在讨厌skr的人”。是否有必要给孩子一个补?

    暑假即将到来,父母必须进入“我没有看到对方,我想你,我每天都在讨厌skr的人”。是否有必要给孩子一个补?...

  4. 是使用一维数组存储图中所有边的图的表示。数组中元素的数量大于或等于图中边数。每个元素用于存储边的起点

    是使用一维数组存储图中所有边的图的表示。数组中元素的数量大于或等于图中边数。每个元素用于存储边的起点...

  5. 是使用一维数组存储图中所有边的图的表示。数组中元素的数量大于或等于图中边数。每个元素用于存储边的起点

    是使用一维数组存储图中所有边的图的表示。数组中元素的数量大于或等于图中边数。每个元素用于存储边的起点...

  6. 暑假即将到来,父母必须进入“我没有看到对方,我想你,我每天都在讨厌skr的人”。是否有必要给孩子一个补?

    暑假即将到来,父母必须进入“我没有看到对方,我想你,我每天都在讨厌skr的人”。是否有必要给孩子一个补?...

  7. 最近,被称为“中央银行中央银行”的国际清算银行(BIS)总裁阿古斯丁卡斯滕斯在接受英国《金融时报》采访?

    最近,被称为“中央银行中央银行”的国际清算银行(BIS)总裁阿古斯丁卡斯滕斯在接受英国《金融时报》采访?...

  8. 暑假即将到来,父母必须进入“我没有看到对方,我想你,我每天都在讨厌skr的人”。是否有必要给孩子一个补?

    暑假即将到来,父母必须进入“我没有看到对方,我想你,我每天都在讨厌skr的人”。是否有必要给孩子一个补?...

  9. 最近,被称为“中央银行中央银行”的国际清算银行(BIS)总裁阿古斯丁卡斯滕斯在接受英国《金融时报》采访?

    最近,被称为“中央银行中央银行”的国际清算银行(BIS)总裁阿古斯丁卡斯滕斯在接受英国《金融时报》采访?...

  10. 最近,被称为“中央银行中央银行”的国际清算银行(BIS)总裁阿古斯丁卡斯滕斯在接受英国《金融时报》采访?

    最近,被称为“中央银行中央银行”的国际清算银行(BIS)总裁阿古斯丁卡斯滕斯在接受英国《金融时报》采访?...

日期归档
友情链接