编辑: 木头飞艇 2015-08-26

2 4

1 3 ? ? ? ? ? ? ? ? 7.2.1 数组表示法 邻接矩阵:表示顶点间相联关系的矩阵.定义:设G=(V,{E})是有n?1个顶点的图,G的邻接矩阵A是具有以下性质的n阶方阵: 例:

1 5

3 2

4 G2 ? ? ? ? ? ? ? ? ? ? 网的邻接矩阵可定义为: ? ? ? ? ? ? ? ? ? ? 例:

1 4

5 2

3 7

5 3

1 8

6 4

2 邻接矩阵类型定义: #define INFINITY INT_MAX#define MAX_VERTEX_NUM 20typedef enum{DG,DN,AG,AN} GraphKind;

typedef struct ArcCell{ VRType adj;

InfoType * info;

}ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]typedef struct{ VertexType vexs[MAX_VERTEX_NUM];

AdjMatrix arcs;

int vexnum,arcnum;

GraphKind kind;

}MGraph;

adjvex nextarc vexdata firstarc 邻接表的类型定义参见P163. 7.2.2 邻接表 实现:为图中每个顶点建立一个单链表,第i个单链表中的结点表示依附于顶点Vi的边(有向图中指以Vi为尾的弧). 例: G1 b d a c

1 2

3 4 a c d b vexdata firstarc

3 2

4 1 ^ ^ ^ ^ adjvex nextarc 例: a e c b d G2

1 2

3 4 a c d b vexdata firstarc

4 2

1 2 ^ ^ ^ adjvex nextarc

5 e

4 3

5 ^

1 5

3 2

3 ^ 例: G1 b d a c

1 2

3 4 a c d b vexdata firstarc

4 1 ^

1 ^ ^

3 ^ adjvex nextarc 逆邻接表:有向图中对每个结点建立以Vi为弧头的弧的单链表.

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题