8 (2 6 ● 092 3 5 2 Aedge 3508 60 0
86 3 1 9 2 5 4 20 31 = 6 0 3 5 0 8 0 9 2 0 1 4 A.edge
用邻接矩阵表示的图结构的定义 define max value Int Max∥在< limits . h>中 const int NumEdges=50;∥边条数 const int Num vertices=10;/项点个数 typedef char VertexData;/点数据类 typedef int EdgeDatas ∥/边上权值类型 typedef struct t VertexData vexList[Num Vertices;∥顶点表 EdgeData Edge Num Vertices Num Vertices 邻接矩阵.可视为边之间的关系 intn,e;/图中当前的顶点个数与边数 3 MTGraph
#define MaxValue Int_Max //在<limits.h>中 const int NumEdges = 50; //边条数 const int NumVertices = 10; //顶点个数 typedef char VertexData; //顶点数据类型 typedef int EdgeData; //边上权值类型 typedef struct { VertexData vexList[NumVertices]; //顶点表 EdgeData Edge[NumVertices][NumVertices]; //邻接矩阵, 可视为边之间的关系 int n, e; //图中当前的顶点个数与边数 } MTGraph; 用邻接矩阵表示的图结构的定义
邻接表( Adjacency List) 无向图的邻接表 data adi dest link dest link 0A 3∧ ③B BeD 0 2∧ 1∧ 3 0∧ 同一个顶点发出的边链接在同一个边链表 中,每一个链结点代表一条边边结点结 点中有另一顶点的下标dest和指针link
邻接表 (Adjacency List) ◼ 无向图的邻接表 同一个顶点发出的边链接在同一个边链表 中,每一个链结点代表一条边(边结点), 结 点中有另一顶点的下标dest 和指针 link。 A B C D data adj A B C D 0 1 2 3 dest link dest link 1 3 0 2 1 0
有向图的邻接表和逆邻接表 data adi dest link ABO 0A+[1入 dest link 1B 0+2|人 2C| 邻接表出边表) data adi dest link 0A 1入 1B 0∧ 逆邻接表(入边表)
◼ 有向图的邻接表和逆邻接表 A B C data adj A B C 0 1 2 dest link dest link 邻接表 (出边表) data adj A B C 0 1 2 dest link 逆邻接表 (入边表) 1 0 2 0 1 1
网络(带权图)的邻接表 6 data adi dest cost link A 0A 5 21B s十316 28∧ BxC 2e 32∧ 3 D 9∧ 项点表)(出边表)
◼ 网络 (带权图) 的邻接表 B A C D 6 9 5 2 8 data adj A B C D 0 1 2 3 dest cost link 1 5 3 6 2 8 3 2 1 9 (顶点表) (出边表)