目录
1 邻接矩阵
#define MAX 50
typedef char VertexType;
typedef int EdgeType;
typedef struct{
VertexType Vex[MAX]; // 顶点表
EdgeType Edge[MAX][MAX]; // 边表
} MGraph;2 邻接表
- 顶点表结点:
| data | firstarc |
|---|---|
| 数据域 | 边表头指针 |
- 边表结点:
| adjvex | info | nextarc |
|---|---|---|
| 边指向的结点 | 边权值 | 指向下一条边 |
#define MAX 50
typedef int VertexType;
typedef int InfoType;
typedef struct ArcNode{ // 边表
int adjvex; // 边指向的结点
struct ArcNode *next; // 指向下一条边
InfoType info; // 边权值
} ArcNode;
typedef struct VNode{ // 顶点表
VertexType data; // 数据域
struct ArcNode *firstarc; // 边表头指针
} AdjList[MAX];
typedef struct{ // 图
AdjList vertices; // 邻接表
int vexnum; // 顶点数
int arcnum; // 边数
} ALGraph;3 带权无向图

4 带权有向图
