72图的存储表示 图的数组邻接矩阵)存储表示 图的邻接表存储表示 三、有向图的十字链表存储表示 四、无向图的邻接多重表存储表示 14
7.2 图的存储表示 一、图的数组(邻接矩阵)存储表示 二、图的邻接表存储表示 三、有向图的十字链表存储表示 四、无向图的邻接多重表存储表示
、图的数组(邻接矩阵)存储表示 定义:矩阵的元素为 0(i)≠VR 1(i)∈VR B入 100 010010 00010 00101 0100 10000 11100
Aij={ 0 (i,j)VR 1 (i,j)VR 一、图的数组(邻接矩阵)存储表示 B A C D F E 定义:矩阵的元素为 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0
有向图的邻接矩阵 为非对称矩阵 01001 00100 00010 11000 B 00100
有向图的邻接矩阵 为非对称矩阵 A B E C F 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0
typedef struct ArcCel∥弧的定义 VRType adj;∥ VRType是顶点关系类型。 ∥对无权图,用1或表示相邻否; ∥对带权图,则为权值类型。 InfoType*info;∥该弧相关信息的指针 3 ArcCell AdjMatriX MAX VErTEX NUMI IMAX VERTEX NUMI
typedef struct ArcCell { // 弧的定义 VRType adj; // VRType是顶点关系类型。 // 对无权图,用1或0表示相邻否; // 对带权图,则为权值类型。 InfoType *info; // 该弧相关信息的指针 } ArcCell, AdjMatrix[MAX_VERTEX_NUM] [MAX_VERTEX_NUM];
typedef struct{∥ 图的定义 VertexType∥顶点信息 veXs IMAX VERTEX NUMI AdjMatrix arcs;∥弧的信息 int vexnum, arcum; ∥顶页点数,弧数 GraphKind kind;∥图的种类标志 3 MGraph;
typedef struct { // 图的定义 VertexType // 顶点信息 vexs[MAX_VERTEX_NUM]; AdjMatrix arcs; // 弧的信息 int vexnum, arcnum; // 顶点数,弧数 GraphKind kind; // 图的种类标志 } MGraph;