因为任意两个顶点之间都可能存在联系,因此无法用数据元素在内存中的物理位置来表示元素之间的关系。

对于无向图,图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(称为邻接矩阵)存储图中的边或弧。

数据结构学习日志之十七--图的存储结构(邻接矩阵)

数据结构学习日志之十七--图的存储结构(邻接矩阵)

如图,假设该二维数组为A,则A[v0][v1]的值为1代表顶点v0跟v1之间有边,A[v1][v3]的值为0则代表v1与v3之间没有边。可以看出无向图的邻接矩阵都为对称矩阵。

由这个矩阵我们可以看出某个顶点的度为在邻接矩阵vi在第i行或者第i列的元素之和。

如果为有向图

数据结构学习日志之十七--图的存储结构(邻接矩阵)

邻接矩阵会是这样子的

数据结构学习日志之十七--图的存储结构(邻接矩阵)

很明显,有向图的邻接矩阵并不是对称矩阵,假设邻接矩阵为A,A[v0][v1]为0,即v0到v1没有弧。

顶点v1的出度为2,对应的是v1行的元素之和,顶点v1的入度为1,对应的是v1列的元素之和

对于网来说则是

数据结构学习日志之十七--图的存储结构(邻接矩阵)

图中邻接矩阵中的∞代表一个计算机允许的,大于所有边上权值的值。

相关文章:

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