用两种结构表示图的顶点和边(弧)

顶点:因为不区分大小、主次,所以用一个一维数组来存储。
边(弧度):边和弧度是顶点与顶点之间的关系,因此我们用二维数组来存储。

因此: 图的邻接矩阵是用两个数组来表示图。一个一维数组存储图中顶点信息。一个二维数组(我们称为邻接矩阵)存储图中的边或弧信息。

无向图

想要知道某个顶点的度,其实就是统计一下邻接矩阵中该顶点所在行或者列的1的个数。
想要知道顶点Vi的所有邻接点就是将矩阵中第i行元素扫描一遍,那么array[i][j]为1的就是邻接点了。

【数据结构算法】图(二):存储结构(邻接矩阵)

有向图

所以如下图所示,顶点数组vertex[4] = {V0,V1,V2,V3},弧数组arc[4][4]也是一个矩阵。因为是有向图,所以该矩阵不像无向图那样对称。
对于有向图的邻接矩阵而言,顶点V1的入度为1,正好是第V1列各个数字之和。顶点V1的出度为2,正好是V1行各个数字之和。
【数据结构算法】图(二):存储结构(邻接矩阵)

相关文章:

  • 2021-11-27
  • 2022-12-23
  • 2021-09-25
  • 2021-12-14
  • 2021-07-20
  • 2022-12-23
  • 2022-01-10
  • 2021-09-18
猜你喜欢
  • 2021-08-26
  • 2021-09-25
  • 2021-12-16
  • 2022-12-23
  • 2021-09-27
  • 2021-06-26
  • 2022-01-18
相关资源
相似解决方案