图的存储结构:
图的存储节点除了要存储图中各个顶点本身的信息外,还要存储各个顶点之间的关系(边的信息)。常用的图的存储结构有邻接矩阵和邻接表。
邻接矩阵是表示顶点之间相邻关系的矩阵。设G=(V,E)是含有n(n>0)个顶点的图,各顶点的编号为0~(n-1),则G的邻接矩阵A是n阶方阵,其定义如下:
邻接矩阵特点:
- 图的邻接矩阵表示是唯一的
- 对于含有n个顶点的图,采用邻接矩阵存储时,存储空间均为O(n2),所有邻接矩阵适合于存储边的数量较多的稠密图
- 无向图邻接矩阵必为对称矩阵,可以压缩存储
- 无向图邻接矩阵第i行(或第i列)非零元素(或非∞元素)个数正好是顶点i的度
- 无向图邻接矩阵第i行(或第i列)非零元素(或非∞元素)个数正好是顶点i的出度或入度
- 用邻接矩阵存储图,易于确定图中任意两个顶点之间是否有边相连。但要确定边数,则需按行、按列对每个元素进行检索