介绍
图的基本存储结构有:
- 邻接矩阵表示法
- 邻接链表表示法
方式一 - 邻接矩阵表示法
用一个 n 阶方阵 R 来存放图中 各结点 的 关联信息,其矩阵元素 Rij 定义为:
如下图是无向图:
矩阵中的数据如下(本例下标从 1 开始):
R1,1的值是0,表示顶点1与 本身没有边- 同上,
R2,2到R5,5都是0,顶点与本身没有边
R1,2的值是1,表示顶点1与2之间有边- 由于是 无向图,同理,顶点
2与1之间也有边,所以R2,1的值是1
优点:查询速度快
缺点:插入数据速度慢
总结
图中有 n 个顶点,矩阵的大小是 n * n
方式二 - 邻接链表表示法
首先把每个顶点的 邻接顶点 用 链表 表示出来,然后用一个 一维数组 来顺序存储上面 每个链表的头指针。
有向图如下:
邻接链表如下:
有 8 个顶点,也就有 8 个链表,将 8 个链表头指针顺序存储到一维数组
总结
邻接链表中元素的数量 = 图顶点数量 + 边的数量
计算方式:
- 数组的长度:图顶点数量
- 数组元素是链表指针,链表的长度:该图顶点边的数量
题
对于如下所示的有向图,其邻接矩阵是一个()的矩阵。采用邻接链表存储时,顶点1的表结点个数为2,顶点5的表结点个数为0,顶点2和3的表结点个数分别为( )
A、5×5
B、5×7
C、7×5
D、7×7
A、2.1
B、2.2
C、3.4
D、4.3
问题1 - 答案
A
问题2 - 答案
B





