6-4 图的存储结构

图的逻辑结构:多对多

图没有顺序存储结构,但可以借助二维数组来表示元素间的关系

数组表示法(邻接矩阵)

链式存储结构:多重链表:

数组(邻接矩阵)表示法

建立一个顶点表(记录各个顶点信息)和一个邻接矩阵(表示各个顶点之间的关系)

设图A=(V,E)有n个顶点,则

图的邻接矩阵是一个二维数组A.arcs[n][n],定义为:

分析1:无向图的邻接矩阵是对称的

分析2:顶点i的度为邻接矩阵中第i行(列)中1元素的个数

特别:完全图的邻接矩阵中,对角元素为0,其余为1

6-4-1 邻接矩阵

有向图的邻接矩阵表示法

注:在有向图的邻接矩阵中,

第i行含义:以结点$v_i$为尾的弧(即出度边);

第i列含义:以结点$v_i$为头的弧(即入度边)。

分析1:有向图的邻接矩阵可能是不对称的。

分析2:

顶点的出度=第i行元素之和

顶点的入度=第i列元素之和

顶点的度=第i行元素之和+第i列元素之和